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: 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 without venue. 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 with expiration 0.
  • 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 missing signature.
  • That the order body is the same shape DELETE /orders/:hash uses 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.
For AMM quotes: 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 calls GET 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:
An AMM quote body, sent the same way before you request calldata: { "market_id": 1264, "network_id": 56, "outcome_id": 0, "action": "buy", "value": 25, "slippage": 0.01 }.

From an MCP client

Instruct the agent to call verify_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.