For the complete documentation index, see llms.txt. This page is also available as Markdown.

Security Token Purchase Flow

Security Token Purchase Flow with On-Chain Compliance and Encryption

The platform implements a structured process for purchasing security tokens that integrates wallet management, identity verification, compliance checks, and secure token transfers all in a single atomic call.

Step-by-Step

  1. Wallet Setup and Deposits Users deposit stablecoins (USDT, USDC) into their on-platform smart wallet for managing funds and facilitating transactions. No native MASQT is required because gas is paid in the same stablecoins.

  2. KYC and On-Chain Identity After completing KYC (Sumsub or Digitap), the user's identity is recorded via ZodorIdentityRegistry, with claims stored through ZodorClaimIssuer. ZK-KYC users go through ZKKYCGate instead of a backend signature.

  3. Marketplace Access Verified users browse tokenized assets in the Hub and initiate purchases using their wallet balance. The site filters assets based on the user's jurisdiction and accreditation claims.

  4. Compliance Validation ZodorComplianceModule validates each transaction against regulatory requirements before any state changes, preventing non-compliant users from proceeding.

  5. Atomic Stablecoin Purchase StablecoinPurchaseRouter.purchase():

    • Pulls USDT/USDC from the user

    • Calls canTransfer() on the target token

    • Transfers stablecoin to the asset treasury

    • Mints/transfers tokens to the investor's wallet

    • Pays gas via ZodorTokenPaymaster from the user's stablecoin balance

  6. Privacy Protection For Capital and Infinity, sensitive operations are secured using ZK-KYC so PII never lands on-chain. For Energy, optional ConfidentialZEROC uses Zama fhEVM for fully encrypted balances. For ZCFT specifically, Path C keeps balances private to msg.sender and emits amount = 0 Transfer events.

Last updated