Skip to main content

Over-The-Counter (OTC) Trading

This chapter details the Over-The-Counter (OTC) trading process, where two parties negotiate and execute a bond trade outside of the public marketplace orderbook.

Business Flow

  1. Trade Agreement:

    • Two End Users (e.g., an Issuer and an Investor, or two Investors) agree on trade terms (price and volume) off-platform or via a dedicated private negotiation channel.
  2. OTC Transaction Submission:

    • One of the parties initiates the OTC transfer directly via the Whitelabel Frontend.
    • This represents a "Free of Payment" (FoP) transfer on-chain, meaning the smart contract strictly handles the transfer of the bond tokens. Financial settlement (if any) is assumed to have occurred entirely off-platform between the two parties.
  3. On-Chain Execution (Passkey Wallet):

    • The user authorizes the transfer using their passkey, which signs a User Operation (transferFrom).
    • The transaction is sent directly to the blockchain from the user's Smart Wallet (CompanyWallet). It completely bypasses the off-chain Whitelabel backend and Core Payment Service.
  4. Compliance Validation (Smart Contract):

    • During the token transfer on-chain, the BondToken contract executes a policy hook by calling the EntityRegistry.canTransfer() method.
    • The EntityRegistry enforces KYC/AML and authorization rules directly on-chain, verifying that both the sender and receiver are registered and have their accounts enabled.
    • If the check passes, the tokens are transferred successfully.

Sequence Diagram