Skip to main content

Overview

All orders on Limitless are signed using EIP-712 structured data. The venue’s exchange address is used as the verifyingContract in the signing domain.

EIP-712 Domain

{
  "name": "Limitless CTF Exchange",
  "version": "1",
  "chainId": 8453,
  "verifyingContract": "<venue.exchange address>"
}
The verifyingContract must be fetched from the market’s venue data via GET /markets/:slug. See Venue System.

Order Type Definition

{
  "Order": [
    { "name": "salt", "type": "uint256" },
    { "name": "maker", "type": "address" },
    { "name": "signer", "type": "address" },
    { "name": "taker", "type": "address" },
    { "name": "tokenId", "type": "uint256" },
    { "name": "makerAmount", "type": "uint256" },
    { "name": "takerAmount", "type": "uint256" },
    { "name": "expiration", "type": "uint256" },
    { "name": "nonce", "type": "uint256" },
    { "name": "feeRateBps", "type": "uint256" },
    { "name": "side", "type": "uint8" },
    { "name": "signatureType", "type": "uint8" }
  ]
}

Field Reference

FieldTypeDescription
saltuint256Unique order identifier (typically timestamp-based)
makeraddressChecksummed address of the order creator
signeraddressSame as maker for EOA wallets
takeraddress0x000...000 for open orders (any taker)
tokenIduint256Position ID — YES or NO token from market data
makerAmountuint256Amount the maker offers (USDC scaled by 1e6)
takerAmountuint256Amount the maker wants in return (shares scaled by 1e6)
expirationuint2560 for no expiration
nonceuint256Order nonce
feeRateBpsuint256Fee rate in basis points
sideuint80 = BUY, 1 = SELL
signatureTypeuint80 = EOA signature

Order Types

TypeDescription
GTC (Good Till Cancelled)Remains active until filled or cancelled
FOK (Fill or Kill)Must fill completely or be cancelled

Amount Calculation

  • USDC has 6 decimals (1 USDC = 1,000,000 units)
  • Shares are scaled by 1e6 for precision
  • Prices are in cents (e.g., 65 = 65c = $0.65)
makerAmount = priceInDollars * numberOfShares * 1e6
takerAmount = numberOfShares * 1e6