Skip to main content

Production: Base mainnet

Production: Solana mainnet

Testnet (Base Sepolia)

Base EVM contracts are UUPS-proxied and verified on BaseScan. Solana programs are deployed on Solana mainnet.

Key functions

Base: executeOrder

On BatchSettler. Permissionless. Atomically: verifies the market maker’s EIP-712 signature, locks your collateral, mints oTokens to the MM, and pays premium to you (minus 4% protocol fee). The Quote struct:
All fields come directly from the GET /prices response. amount is in oToken units (8 decimals, 1e8 = 1 ETH notional).

Base collateral calculation

Puts:
Result in USDC (6 decimals). ETH Calls:
Result in WETH (18 decimals). cbBTC Calls:
Result in cbBTC (8 decimals, same as oToken).

Solana: ExecuteOrder

Solana quotes from GET /prices map to the Solana b1nary Batch Settler ExecuteOrder instruction. Important execution rules:
  • USDC and wSOL use the SPL Token Program.
  • TSLAx uses Token-2022: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb.
  • SOL covered calls wrap SOL to wSOL before execution when wSOL collateral is insufficient.
  • The operator/hot wallet sponsors setup and transaction fees where supported.
  • The user’s Solana embedded trading wallet signs only where token ownership authority is required.

Solana collateral calculation

Puts:
Result in USDC (6 decimals). SOL calls: Use wSOL/SOL in 9 decimals. TSLAx calls: Use TSLAx in 8 decimals.

CCTP V2 bridge

Circle CCTP V2 is used to consolidate USDC across Base and Solana.
  • Base -> Solana: mintRecipient must be the user’s Solana USDC token account (ATA), not the wallet owner. Backend validates or creates the ATA before reserving the bridge.
  • Solana -> Base: mintRecipient is the Base smart trading account encoded as bytes32.
  • Agents should wait for the actual minted amount before executing a destination-chain trade; CCTP fees/rounding can make the received amount lower than the burn amount.

makerNonce

Current nonce for a market maker. Quotes with stale nonce are rejected.

incrementMakerNonce

Invalidates all outstanding signed quotes for the caller. Used as a circuit breaker.

getVault

On Controller. Returns vault details: shortOtoken, collateralAsset, shortAmount, collateralAmount.