This is a reference for the verification API’s payload adapter. For apps you can use inside a Desk, see Desk apps.
venue: limitless. Over HTTP, limitlessexchange and lmts also resolve to it.
What to send
How orders are read
side is 0 for BUY and 1 for SELL. Signed amounts are scaled by 1e6, and the classifier treats them as the source of truth over the advisory price field:
- GTC and FAK: price is
makerAmount / takerAmountfor a buy andtakerAmount / makerAmountfor a sell. Shares aretakerAmount(buy) ormakerAmount(sell) divided by 1e6. Apricefield more than 0.005 away from the signed price is flagged. - FOK:
makerAmountis the USDC to spend (buy) or the shares to sell (sell), andtakerAmountmust be1.
Live lookup
For orders, the adapter callsGET https://api.limitless.exchange/markets/{marketSlug} and adds the market title, the outcome (YES or NO), that outcome’s current price, the market status and the deadline. The timeout is 3.5 seconds and results are cached for 5 minutes.
The order names its market twice: the slug at the top level and the outcome token inside the signed struct. If the token is neither the market’s YES token nor its NO token, a note says the signed order is for a different market than the one named. If the slug does not resolve, a note says the market is unverified. Both notes tell the judge to lean ESCALATE. A market status other than FUNDED or FUNDED_FLAGGED is flagged, since Limitless only accepts orders on funded markets.
Notes the classifier adds
- A
priceoutside 0.01 to 0.99, a non-zeroexpirationand a non-zerononce: Limitless rejects all three. postOnlyon anything other than a GTC order.- An order with no
signature, which implies delegated signing by a managed wallet. onBehalfOf, which acts for a sub-account profile, is called out on orders, redeems and withdrawals.- Withdrawals: the amount is USDC scaled by 1e6 when
tokenis absent and raw token units when it is present. With nodestination, funds go to the caller’s default destination.
Example
From an MCP client
Instruct the agent to callverify_intent before placing any Limitless order, with your rules as intent, the exact request body as action and venue: "limitless", and to act only on ALLOW.
