Deploy a Gated Asset
Create, deploy, and distribute a compliance-gated token
This guide walks you through the full asset lifecycle — creating a tokenized asset, deploying it to a chain, allocating tokens to users, and optionally bridging cross-chain.
Prerequisites
- An organization registered as an issuer (Onboard an Organization, step 7)
- Chains enabled (Onboard an Organization, step 6)
- A compliance policy defined (Define a Compliance Policy) — this can happen after asset creation but must be set before deployment
1. Install and authenticate
2. Create the asset
Create a new tokenized asset. The asset_type field accepts: cre, equity, bond, debt,
fund, commodity, or other.
The API returns 202 Accepted. The asset is registered in the system but not yet deployed
on-chain.
3. Attach a compliance policy
Before deploying, attach a compliance policy to define the transfer rules the smart contract will enforce. See Define a Compliance Policy for the full walkthrough.
4. Deploy to a chain
Deploy the asset as an OFT (Omnichain Fungible Token) smart contract on the target chain:
The API returns 202 Accepted. The deployment is processed asynchronously — the system
compiles the contract, deploys it, and registers the compliance policy on-chain.
Deployment can take 30-120 seconds depending on chain congestion. Use the requestId for
webhook correlation rather than polling in production integrations.
5. Poll for deployment status
Check the asset status until deployment completes, or use webhook correlation with the
requestId from step 4:
See Async Operations for the webhook correlation
pattern using requestId.
6. Allocate tokens
Distribute tokens to users. Each allocation is compliance-checked before execution — the recipient must satisfy the asset’s compliance policy.
The API returns 202 Accepted. Each allocation triggers an individual compliance check
and on-chain transfer.
7. Bridge cross-chain (optional)
Bridge tokens to another chain using LayerZero OFT messaging:
The API returns 202 Accepted. The bridge operation executes through LayerZero’s cross-chain
messaging layer.
What you built
You now have a fully deployed, compliance-gated token on-chain. Every transfer is automatically checked against your compliance policy — blocked countries, KYC level, accreditation status, holder limits, and lockup periods are all enforced at the smart contract level.
Reference
- API Reference
- Asset Issuance — deep-dive into the asset model
- Async Operations — polling and webhook correlation
Next steps
- Subscribe to Webhooks — receive real-time notifications
- Define a Compliance Policy — modify your policy post-deployment