This is a reference for the verification API’s payload adapter. For apps you can use inside a Desk, see Desk apps.
venue: myriad. Over HTTP, myriadmarkets, myriadprotocol and myriadob also resolve to it.
Myriad runs two trading models: an AMM, traded through POST /markets/quote, and an order book on BNB Smart Chain, traded with signed orders through POST /orders.
What to send
All four shapes are detected withoutvenue. All are in the order family.
How orders are read
Order-book prices and amounts are scaled by 1e18.side is 0 for buy and 1 for sell; outcome 0 is Yes and 1 is No. The summary shows shares, price in cents and the collateral cost or proceeds, assuming 18-decimal collateral. It flags:
- A price outside 1 to 1e18, or off the 0.01 tick grid (not a multiple of 1e16). The API rejects off-tick prices.
- GTC with a non-zero
expiration, and GTD withexpiration0. - FOK and FAK, which take liquidity immediately and pay taker fees.
- A missing
network_id(the order book defaults to BNB Smart Chain, 56) and a missingsignature. - That the order body is the same shape
DELETE /orders/:hashuses to cancel, so the payload alone cannot prove placement versus cancel. It is judged as a placement. - For batches: more than 200 orders, and that batch placement skips the upfront collateral check.
slippage is a fraction between 0 and 1 (0.5% when unset), a buy must send value and not shares, and a frontend fee names a recipient wallet (to_wallet) that your rules should cover. A quote returns calldata that still has to be signed.
Live lookup
For quotes and single orders, the adapter callsGET https://api-v2.myriadprotocol.com/markets/{id or slug} with the order’s network_id and a trading_model of amm for quotes or ob for orders. Numeric market ids repeat across the two models, so the lookup is scoped; if it finds nothing, it retries the other model so a mismatch is reported rather than missed. The timeout is 3.5 seconds and results are cached for 5 minutes.
It adds the market title, the outcome’s name and current price, the market state, the trading model and the collateral token. It flags an outcome id the market does not have, a market that is not open, a quote sent to an order-book market or an order sent to an AMM market, and, for orders, collateral that is not 18 decimals, since the computed cost assumed 18. An unresolved market gets a note to treat it as unverified and lean ESCALATE.
Examples
A signed order-book order:{ "market_id": 1264, "network_id": 56, "outcome_id": 0, "action": "buy", "value": 25, "slippage": 0.01 }.
From an MCP client
Instruct the agent to callverify_intent before requesting a Myriad quote or submitting a signed order, with your rules as intent, the exact body as action and venue: "myriad", and to act only on ALLOW.
