# Fungible token ownership

The `FTOwnership` entity represents a fungible token ownership relation between accounts and contract packages, as well as provides the corresponding token balances

### Properties

The `FTOwnership` entity has the following properties:

| Property                | Type         | Description                                                                                                   |
| ----------------------- | ------------ | ------------------------------------------------------------------------------------------------------------- |
| `owner_hash`            | `string(64)` | Owner hash represented as a hexadecimal string. First part of token ownership identifier                      |
| `contract_package_hash` | `string(64)` | Fungible contract package hash represented as a hexadecimal string. Second part of token ownership identifier |
| `owner_type`            | `uint8`      | Owber hash type: `0` for account, `1` for contract                                                            |
| `balance`               | `string`     | Fungible tokens balance in the network                                                                        |

**Example**

```json
{
  "balance": "99999999999999999000",
  "contract_package_hash": "0e6a10012d734417ef6ff74e4a7881ad75bcbb3c455ccd63a677f7dd55f1f203",
  "owner_hash": "d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269",
  "owner_type": 0
}
```

## Optional properties

Depending on the endpoint some of the following optional properties may be included in the `FTOwnership` entity:

| Property                   | Type                                                                                        | Description                         |
| -------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------- |
| `contract_package`         | [`ContractPackage`](https://docs.cspr.cloud/1.5.x/rest-api/contract-package)                | Fungible contract package           |
| `owner_public_key`         | `string(68)`                                                                                | Owner public key if it's an account |
| `account_info`             | [`AccountInfo`](https://docs.cspr.cloud/1.5.x/rest-api/account-info)                        | Owner account info                  |
| `centralized_account_info` | [`CentralizedAccountInfo`](https://docs.cspr.cloud/1.5.x/rest-api/centralized-account-info) | Owner centralized account info      |
| `cspr_name`                | `string`                                                                                    | Owner account CSPR.name             |

### Relations

| Entity                                                                        | Mapping property        | Description                                                                |
| ----------------------------------------------------------------------------- | ----------------------- | -------------------------------------------------------------------------- |
| [`Contract package`](https://docs.cspr.cloud/1.5.x/rest-api/contract-package) | `contract_package_hash` | Fungible token ownership represents fungible contract package token owners |
| [`Account`](https://docs.cspr.cloud/1.5.x/rest-api/account)                   | `owner_hash`            | Account can be a token owner                                               |

### Endpoints

The `FTOwnership` entity has the following endpoints:

* [Get contract package fungible token ownerships](https://docs.cspr.cloud/1.5.x/rest-api/fungible-token-ownership/get-contract-package-fungible-token-ownership)
* [Get account fungible token ownerships](https://docs.cspr.cloud/1.5.x/rest-api/fungible-token-ownership/get-account-fungible-token-ownership)

### Relation endpoints

None
