Integration Patterns
End-to-end recipe for issuing a compliance-gated token
This guide walks you through a complete partner-issuer integration from scratch. You will onboard an organization, attest investor wallets, define a compliance policy, deploy a gated token, and subscribe to lifecycle events. Each step is a thin summary with a single SDK snippet — follow the linked building-block guide for the full walkthrough.
The worked example uses a fictional beekeeping company, HoneyB, that tokenizes honey production shares under Regulation D.
Prerequisites
Before starting, make sure you have:
- A Clossir account (app.dev.clossir.com)
- Node.js 18+ or Bun
@signum-tech/sdkinstalled (npm install @signum-tech/sdk)- Familiarity with each building-block guide:
End-to-end flow
1. Onboard the issuer organization
Create the organization, generate an API key, enable your target chains, and register as
an issuer. This gives you the orgId and credentials every subsequent call requires.
After creating the org, generate an API key, enable chains, and register as an issuer. See Onboard an Organization for the full step-by-step.
Keep your org on testnet until you have validated the full integration end-to-end. Switch to mainnet only when ready for production.
2. Attest investor wallets
Before investors can hold your token, their wallets need an on-chain attestation. Use the org-initiated path to attest members whose identity you have already verified.
The API returns 202 Accepted — the attestation is queued for on-chain settlement.
See Attest a User for the full walkthrough including the
self-service path and KYC initiation.
3. Create the tokenized asset
Create the asset record that represents your token. This produces the assetId you will
reference when attaching a compliance policy and deploying on-chain.
The API returns 202 Accepted. See Deploy a Gated Asset for the
full asset lifecycle including token allocation and cross-chain bridging.
4. Define the compliance policy and deploy
Attach the transfer rules that the smart contract will enforce, then deploy the asset as an OFT (Omnichain Fungible Token) on the target chain. This example configures Regulation D with accredited-investor requirements and a one-year lockup.
Both calls return 202 Accepted. Deployment typically takes 30-120 seconds depending on
chain congestion. See Define a Compliance Policy for the full
field reference and Deploy a Gated Asset for polling and
deployment status.
The compliance policy must be attached before deployment. You can attach it immediately after asset creation (step 3) or inline during the create call.
5. Subscribe to lifecycle events
Wire webhook endpoints to receive real-time notifications when attestations settle and compliance checks complete. This replaces polling in production integrations.
See Subscribe to Webhooks for the full handler implementation, payload schemas, tracing headers, and failure handling.
What you built
You now have a complete issuer integration:
- An organization registered as an issuer with API keys and enabled chains
- Investor wallets attested on-chain with KYC verification
- A tokenized asset representing your security
- A compliance policy enforcing Regulation D, deployed as a gated OFT on-chain
- Webhook subscriptions delivering real-time lifecycle events
Every token transfer is automatically checked against your compliance policy — blocked countries, KYC levels, accreditation status, holder limits, and lockup periods are all enforced on-chain.
Reference
- API Reference — the full operation catalog and webhook payload schemas
- Concepts — the Clossir data model
- Authentication — scopes, keys, and error handling
Next steps
- Async Operations — polling and webhook correlation patterns
- Error Handling — structured error responses and retry guidance
- React Integration — embed the attestation flow in your frontend