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.
Related Pages
- Arena Token — $ARENA used as bond collateral and governance
- Guarantee Tokens — Bank-issued on-chain inventory instruments (distinct from trader bond collateral)
- Identity & Compliance — ERC-3643 compliance required for bond token transfers
- API Reference — Submit commitment endpoint