> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quantumapi.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Token object model

> Token, TokenStandard, TokenTemplate, and TokenOperation schemas for the Qustody Token Management API.

Field-level reference for the core resources exposed by the Token Management API.

## `Token`

A QRC token tracked by Qustody.

| Field                 | Type      | Description                                                                             |
| --------------------- | --------- | --------------------------------------------------------------------------------------- |
| `id`                  | string    | Qustody token ID (`token_…`).                                                           |
| `standard`            | string    | One of `QRC-20`, `QRC-721`, `QRC-1155`, `QRC-1400`, `QRC-3643`, `QRC-4626`, `QRC-3525`. |
| `templateId`          | string    | Template used to instantiate the contract (nullable for custom contracts).              |
| `name`                | string    | Human-readable name.                                                                    |
| `symbol`              | string    | On-chain symbol.                                                                        |
| `decimals`            | integer   | Decimals (fungible standards only).                                                     |
| `network`             | string    | `quantum-chain-mainnet`, `quantum-chain-testnet`, or a registered network ID.           |
| `contractAddress`     | string    | On-chain contract address; `null` until deployment is `COMPLETED`.                      |
| `status`              | string    | `DRAFT`, `DEPLOYING`, `DEPLOYED`, `PAUSED`, `RETIRED`, `FAILED`.                        |
| `adminVaultAccountId` | string    | Vault account that holds administrative on-chain roles.                                 |
| `approvalPolicyId`    | string    | Policy applied to privileged operations.                                                |
| `supplyPolicy`        | object    | `{ mintable, burnable, maxSupply }`.                                                    |
| `complianceConfigId`  | string    | Reference to the compliance configuration (regulated standards).                        |
| `tags`                | string\[] | User-defined metadata tags.                                                             |
| `createdAt`           | string    | RFC 3339 timestamp.                                                                     |
| `updatedAt`           | string    | RFC 3339 timestamp.                                                                     |

## `TokenStandard`

Descriptor for a single QRC standard.

| Field                  | Type      | Description                                                      |
| ---------------------- | --------- | ---------------------------------------------------------------- |
| `standard`             | string    | The QRC standard identifier.                                     |
| `description`          | string    | Plain-language description.                                      |
| `supportedOperations`  | string\[] | Operations this standard exposes.                                |
| `requiredFields`       | string\[] | Configuration fields required at token creation.                 |
| `optionalFields`       | string\[] | Configuration fields permitted but not required.                 |
| `financeUseCase`       | string    | Typical use case in institutional finance.                       |
| `implementationStatus` | string    | `implemented`, `partially-implemented`, `proposed`, `to-verify`. |

## `TokenTemplate`

A pre-validated contract template Qustody can instantiate.

| Field                  | Type      | Description                                                              |
| ---------------------- | --------- | ------------------------------------------------------------------------ |
| `templateId`           | string    | Stable template ID (`tpl_qrc20_v1`).                                     |
| `standard`             | string    | The QRC standard this template targets.                                  |
| `name`                 | string    | Human-readable template name.                                            |
| `version`              | string    | SemVer-style version of the template.                                    |
| `constructorFields`    | object\[] | `{ name, type, required, default? }` entries describing the constructor. |
| `supportedOperations`  | string\[] | Operations the template enables.                                         |
| `features`             | object    | `{ mintable, burnable, pausable, freezable, roleBased }` flags.          |
| `bytecodeHash`         | string    | `Keccak-256` hash of the deployment bytecode (audit anchor).             |
| `abiHash`              | string    | `Keccak-256` hash of the canonical ABI.                                  |
| `implementationStatus` | string    | Same enum as `TokenStandard.implementationStatus`.                       |

## `TokenOperation`

A single privileged action against a token.

| Field                       | Type      | Description                                           |
| --------------------------- | --------- | ----------------------------------------------------- |
| `operationId`               | string    | Qustody operation ID (`op_…`).                        |
| `tokenId`                   | string    | The token this operation targets.                     |
| `operationType`             | string    | See enum below.                                       |
| `status`                    | string    | See enum below.                                       |
| `transactionRequestId`      | string    | Underlying Qustody transaction.                       |
| `blockchainTransactionHash` | string    | `0x…` once broadcast; `null` while in earlier states. |
| `amount`                    | string    | `uint256` decimal string (mint/burn/transfer).        |
| `recipient`                 | object    | Resolved recipient descriptor (mint/transfer).        |
| `from`                      | object    | Resolved source descriptor (burn/transfer).           |
| `role`                      | string    | Role identifier (role grant/revoke).                  |
| `requestedBy`               | string    | Qustody user ID that submitted the operation.         |
| `approvedBy`                | string\[] | Qustody user IDs that approved the operation.         |
| `createdAt`                 | string    | RFC 3339 timestamp.                                   |
| `updatedAt`                 | string    | RFC 3339 timestamp.                                   |
| `failureReason`             | string    | Plain-language explanation when `status = FAILED`.    |

### `operationType` enum

`CREATE_TOKEN`, `DEPLOY_TOKEN`, `MINT`, `BURN`, `TRANSFER`, `GRANT_ROLE`, `REVOKE_ROLE`, `PAUSE`, `UNPAUSE`, `FREEZE`, `UNFREEZE`, `UPDATE_COMPLIANCE`, `ALLOWLIST_ADD`, `ALLOWLIST_REMOVE`.

### `status` enum

Aligned with the existing [transaction state machine](/concepts/state-machine):

`SUBMITTED`, `QUEUED`, `PENDING_AUTHORIZATION`, `APPROVED`, `REJECTED`, `PENDING_SIGNATURE`, `SIGNED`, `BROADCASTING`, `CONFIRMING`, `COMPLETED`, `FAILED`, `CANCELLED`.

## Related

* [Lifecycle](/qustody/token-management/token-operation-lifecycle)
* [Token operations endpoint](/api-reference/tokens/list-token-operations)
* [Transaction state machine](/concepts/state-machine)
