> ## 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 error codes

> Error codes specific to the Qustody Token Management API (range 1700–1749).

Token Management adds a dedicated error range. See the canonical [error codes](/reference/error-codes) page for all other ranges.

## Token error catalog (1700–1749)

| Code | Type                                  | HTTP | Meaning                                                                     | Retry safe?              |
| ---: | ------------------------------------- | :--: | --------------------------------------------------------------------------- | ------------------------ |
| 1700 | `TOKEN_STANDARD_NOT_SUPPORTED`        |  400 | Unknown or unsupported QRC standard.                                        | No                       |
| 1701 | `TOKEN_TEMPLATE_NOT_FOUND`            |  404 | Unknown template ID.                                                        | No                       |
| 1702 | `TOKEN_ALREADY_DEPLOYED`              |  409 | Token already has a confirmed `contractAddress`.                            | No                       |
| 1703 | `TOKEN_NOT_DEPLOYED`                  |  409 | Operation requires a deployed contract.                                     | After deploy completes   |
| 1704 | `TOKEN_OPERATION_NOT_ALLOWED`         |  422 | Standard or template does not support the operation.                        | No                       |
| 1705 | `TOKEN_SUPPLY_EXCEEDED`               |  422 | Resulting supply would exceed `supplyPolicy.maxSupply`.                     | After reducing amount    |
| 1706 | `TOKEN_MINT_NOT_ALLOWED`              |  403 | Caller lacks the on-chain `MINTER` role.                                    | After granting role      |
| 1707 | `TOKEN_BURN_NOT_ALLOWED`              |  403 | Caller lacks the on-chain `BURNER` role.                                    | After granting role      |
| 1708 | `TOKEN_ROLE_REQUIRED`                 |  403 | Caller lacks the on-chain role for the operation.                           | After granting role      |
| 1709 | `TOKEN_POLICY_REJECTED`               |  422 | Token-level policy rejected the operation. (See also 1200 `POLICY_DENIED`.) | No                       |
| 1710 | `TOKEN_APPROVAL_REQUIRED`             |  422 | Approval required and not yet granted. (See also 1201.)                     | After approval           |
| 1711 | `TOKEN_CONTRACT_CALL_FAILED`          |  502 | The on-chain contract call reverted.                                        | Conditional              |
| 1712 | `TOKEN_INVALID_RECIPIENT`             |  400 | Recipient resolution failed.                                                | After fixing recipient   |
| 1713 | `TOKEN_INVALID_AMOUNT`                |  400 | Amount is zero, negative, or exceeds source balance.                        | After fixing amount      |
| 1714 | `TOKEN_COMPLIANCE_RESTRICTION_FAILED` |  422 | Allowlist, freeze, or compliance check rejected the operation.              | After fixing eligibility |
| 1715 | `TOKEN_OPERATION_ALREADY_PROCESSED`   |  409 | Operation already reached a terminal state.                                 | No                       |
| 1716 | `TOKEN_DEPLOYMENT_FAILED`             |  502 | Deployment failed during signing or on chain.                               | Conditional              |

## Common patterns

* **All `409` errors** indicate state mismatches. Refresh the resource state before retrying.
* **All `422` policy errors** require either an approval step, a configuration change, or a different parameter — never raw retries.
* **All `502` errors** are transient and may be retried with the same `Idempotency-Key`.

## Related

* [Error codes (full catalog)](/reference/error-codes)
* [Errors and codes (narrative)](/qustody/errors)
* [Token security model](/qustody/token-management/security-model)
