Skip to main content
This is a reference for the verification API’s payload adapter. For apps you can use inside a Desk, see Desk apps.
venue: polymarket. Over HTTP, poly and polymarketclob also resolve to it.

What to send

Send the payload bare or wrapped as { order: {...} }. The token id may be tokenID, tokenId or token_id, as a string of 10 or more digits or a number. side may be BUY, buy or 0, and SELL, sell or 1. Auto-detection skips objects with a string type field and objects with a top-level marketSlug, which are Limitless orders.

What the classifier renders

For orders: side, shares, the outcome token, price in cents, order type (GTC when absent), and the maximum cost of a buy or the proceeds of a sell as price × size. It flags a price outside 0 to 1 and a side or token id it cannot read. Price and size come from the price and size fields. A signed struct that carries only makerAmount and takerAmount is typed as an order, but its price and size show as ?. Send the pre-sign args if you want the judge to see them.

Live lookup

For orders, the adapter calls the Gamma API, GET https://gamma-api.polymarket.com/markets?clob_token_ids=<token>, and adds the market question, the outcome the token represents, that outcome’s current price and the market end date to the summary. The timeout is 3.5 seconds and results are cached for 5 minutes. If the token does not resolve, a note tells the judge to treat the market as unverified and lean ESCALATE when your rules depend on which market it is.

Example

The classifier’s line for this order is Polymarket ORDER: BUY 500 shares of outcome token 308158…200000 @ 2.0¢ (GTC) ≈ $10.00 cost (max), followed by the resolved market and outcome when the lookup succeeds.

From an MCP client

Instruct the agent to call verify_intent before placing any Polymarket order, with your rules as intent, the exact order as action and venue: "polymarket", and to act only on ALLOW.