# Fungible token action

The `FTTokenAction` entity describes standard actions that can be performed on fungible tokens, such as mint, transfer, or burn. CSPR.cloud supports fungible tokens compatible with the [CEP-18](https://github.com/casper-ecosystem/cep18) Casper Network standard.

### Properties

The `FTTokenAction` entity has the following properties:

| Property                | Type         | Description                                                                                                                                                                                     |
| ----------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `deploy_hash`           | `string(64)` | Deploy hash in which the token action occurred. First part of token action identifier, represented as a hexadecimal string                                                                      |
| `block_height`          | `uint64`     | Height of the block in which the token action occurred.                                                                                                                                         |
| `transform_idx`         | `int`        | ID of the transform in the deploy execution result containing performed token action in deploy execution. Second part of token action identifier                                                |
| `contract_package_hash` | `string(64)` | Contract package hash of fungible token contract, represented as a hexadecimal string                                                                                                           |
| `from_hash`             | `string(64)` | Action source account or contract hash, represented as a hexadecimal string                                                                                                                     |
| `from_type`             | `uint8`      | Action source hash type: `0` for account, `1` for contract                                                                                                                                      |
| `to_hash`               | `string(64)` | Action target account or contract hash, represented as a hexadecimal string                                                                                                                     |
| `to_type`               | `uint8`      | Action target hash type: `0` for account, `1` for contract                                                                                                                                      |
| `ft_action_type_id`     | `uint`       | [Fungible token action type](https://github.com/make-software/casper-middleware/blob/documentation-1.1.x/docs/public/rest-api/fungible-token-action/get-token-actions-types.md) type identifier |
| `amount`                | `string`     | Tokens amount value used during the token action                                                                                                                                                |
| `timestamp`             | `uint16`     | The timestamp of performed token action                                                                                                                                                         |

**Example**

```json
{
  "amount": "37357",
  "contract_package_hash": "883238e99639bc7f5f7858398d0df94138c8ad89f76bdef7fac5fdd3df7f033a",
  "deploy_hash": "0005f1e53afa9799a66a389a90caab84ab3cbd000ab7741e55e09f80c75002b6",
  "block_height": 2404571,
  "from_hash": "f41cc7553d271e7ac70899ead4d3584c72ca2e119f2a86fbb4641ca95f3ba9e7",
  "from_type": 0,
  "ft_action_type_id": 2,
  "timestamp": "2023-02-09T19:16:21Z",
  "to_hash": "a5a9a804a383f3b0e131c85d471542af2c6d4ec57bab39182ba93dd7bd86f46c",
  "to_type": 1,
  "transform_idx": 67
}
```

## Optional properties

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

| Property           | Type                                                                         | Description                                 |
| ------------------ | ---------------------------------------------------------------------------- | ------------------------------------------- |
| `contract_package` | [`ContractPackage`](https://docs.cspr.cloud/1.1.x/rest-api/contract-package) | Fungible contract package                   |
| `deploy`           | [`Deploy`](https://docs.cspr.cloud/1.1.x/rest-api/deploy)                    | Deploy in which the token action occurred   |
| `from_public_key`  | `string(68)`                                                                 | Action source public key if it's an account |
| `to_public_key`    | `string(68)`                                                                 | Action target public key if it's an account |

### Relations

| Entity                                                                        | Mapping property        | Description                                                                |
| ----------------------------------------------------------------------------- | ----------------------- | -------------------------------------------------------------------------- |
| [`Contract package`](https://docs.cspr.cloud/1.1.x/rest-api/contract-package) | `contract_package_hash` | Fungible tokens actions belong to a contract package                       |
| [`Account`](https://docs.cspr.cloud/1.1.x/rest-api/account)                   | `from_hash, to_hash`    | Fungible token actions could have accounts as the action source and target |

### Endpoints

The `FTTokenAction` entity has the following endpoints:

* [Get fungible token actions](https://docs.cspr.cloud/1.1.x/rest-api/fungible-token-action/get-token-actions)
* [Get contract package fungible token actions](https://docs.cspr.cloud/1.1.x/rest-api/fungible-token-action/get-contract-package-token-actions)
* [Get account fungible token actions](https://docs.cspr.cloud/1.1.x/rest-api/fungible-token-action/get-account-token-actions)

### Relation endpoints

The `FTTokenAction` entity has the following relation endpoints:

* [Get fungible token action types](https://github.com/make-software/casper-middleware/blob/documentation-1.1.x/docs/public/rest-api/fungible-token-action/get-token-actions-types.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cspr.cloud/1.1.x/rest-api/fungible-token-action.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
