> ## 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.

# Advanced contracts

> When to leave the managed Token Management API and deploy custom QRC-compatible contracts directly.

The managed Token Management API covers the standards and templates that ship with Qustody. When that's not enough, you can use **Path B**: bring your own Solidity, compile it yourself, and submit deployment and contract-call transactions directly through Qustody (or through Quantum Chain RPC).

## When to use which path

| Scenario                                                              | Recommended path                |
| --------------------------------------------------------------------- | ------------------------------- |
| Standard QRC-20, QRC-721, or QRC-1155 token                           | **Path A** — managed API        |
| Permissioned regulated token using `QRC-1400` or `QRC-3643`           | **Path A** — managed API        |
| Tokenized vault using `QRC-4626`                                      | **Path A** — managed API        |
| Custom logic not covered by any template (custom hooks, custom maths) | **Path B** — advanced contracts |
| Migrating an existing audited contract from another chain             | **Path B** — advanced contracts |
| Combining a token with non-token logic in the same contract           | **Path B** — advanced contracts |

You can mix both paths in the same project: deploy a custom contract via Path B, then use Path A for downstream operations once the contract address is registered as a Qustody token (when supported).

## What Path B keeps

* The same Qustody [approval policy](/concepts/policies) gates the deployment transaction.
* The same [post-quantum signing](/concepts/quantum-safety) flow signs every transaction.
* The same [audit log](/qustody/security-model) records every action.
* The same [transaction state machine](/concepts/state-machine) tracks lifecycle.

## What Path B requires from you

* A Solidity toolchain (e.g. `solc` or Foundry).
* ABI encoding for every contract call.
* Manual mapping between contract events and your reconciliation pipeline.
* Verification of the deployed contract bytecode against your source.

## QRC-compatible Solidity

Public docs refer to your custom contracts as **QRC-compatible contracts**. If your Solidity inherits from libraries whose internal symbol names use `ERC*`, that is a build-time detail — keep your public-facing template ID, contract name, and operational documentation in the QRC vocabulary.

## Where to next

* [RPC and bytecode](/qustody/token-management/rpc-and-bytecode) — full step-by-step
* [Guide — Deploy a custom QRC-compatible contract](/guides/deploy-a-custom-token-contract)
* [QVM vs EVM](/quantum-chain/qvm-vs-evm)
* [Sending transactions](/quantum-chain/sending-transactions)
