Skip to main content

Bond Issuance

When a market maker creates an order on TradeArena, they post a performance bond and a guarantee as collateral. These are locked on-chain via TradeArenaCore.createOrder() and tokenised through the Tokeny integration. Bonds are released on successful settlement and slashed on default.

FX orders are exempt from on-chain bond issuance. All other asset types — Commodity, GPU, Options, and NFT — require both a bond and a guarantee before the order is visible to traders.

Bond Lifecycle​

sequenceDiagram
participant MM as Market Maker
participant C as TradeArenaCore
participant V as CollateralYieldVault
participant T as Tokeny (Bond Token)

MM->>C: createOrder(_bondAmount, _guaranteeAmount)
C->>V: Lock bond + guarantee collateral
C->>T: Mint bond token (ERC-3643)
C-->>MM: Emit OrderCreated(orderId)

Note over C,V: Order is open — traders compete

alt Successful Settlement
C->>MM: Release bond (+ accrued yield)
C->>T: Burn bond token
else Default / Non-Settlement
C->>MM: Slash bond → insurance pool
C->>T: Burn bond token (no release)
end

FX Exemption​

FX orders (asset type 1 in the contract, or asset_type = 'fx' in the database) skip all on-chain validation.

Tokeny Integration​

Bond tokens are issued as ERC-3643 compliant securities through Tokeny's T-REX infrastructure. Each bond's token contract address is recorded against the bond and is visible to the issuing market maker. Institutions with Trade Finance or Security Token Issuance compliance (see Identity & Compliance) can hold and transfer bond tokens on secondary markets.