{"openapi":"3.1.0","info":{"title":"Parchment public API","description":"The public HTTP API of Parchment, at https://api.parchment.trade. Every path is also served under /api/parchment (for example /api/parchment/markets), the form the TypeScript SDK uses.\n\nJSON responses wrap their payload as { data }; errors are { error: { code, message } } with an HTTP status. Every integer is an n-suffixed decimal string (\"5000000n\"), USDC amounts are in base units (6 decimals) and *Wad values are scaled by 1e18. A price that has not been read stays price_unavailable, and referral bonuses stay estimates.\n\nThe live price, trade and order streams are Server-Sent Events (text/event-stream). Transaction routes return unsigned transaction bytes for the wallet to sign. Requests are rate limited per client IP; a 429 carries Retry-After.","contact":{"name":"Parchment Docs","url":"https://docs.parchment.trade"},"version":"0.3.0"},"servers":[{"url":"https://api.parchment.trade","description":"Production"}],"paths":{"/accounts/{accountId}/builder-approvals":{"get":{"tags":["builders"],"summary":"Builder fee approvals","operationId":"builder_approvals","parameters":[{"name":"accountId","in":"path","description":"Trading account object id","required":true,"schema":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"Builder fee approvals for the account; empty array when none.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Vec_BuilderApproval"}}}},"400":{"description":"Invalid account id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{owner}":{"get":{"tags":["accounts"],"summary":"Account overview","operationId":"account","parameters":[{"name":"owner","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}},{"name":"limit","in":"query","description":"Page size: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted. The service clamps it to `api.max-page-limit`.","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}},{"name":"accountsCursor","in":"query","description":"Account id cursor (address) from `accountsNextCursor`.","required":false,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]}},{"name":"positionsCursor","in":"query","description":"Position id cursor (decimal).","required":false,"schema":{"type":"string","examples":["1042"]}},{"name":"claimsCursor","in":"query","description":"Claim id cursor (decimal).","required":false,"schema":{"type":"string","examples":["5531"]}}],"responses":{"200":{"description":"Accounts, free balance, open positions, and queue rank, as public camelCase JSON. Every integer is an n-suffixed decimal string (\"5000000n\"). Each account carries pendingOrders (requested, not yet finalized two-step orders, opens and closes) and pendingOpenOrders (the pending opens only). Compare pendingOpenOrders with /config maxPendingOrders before a request-open; closes are never capped. limit, accountsCursor, positionsCursor and claimsCursor are forwarded when present.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_AccountOverview"}}}},"400":{"description":"Invalid address or query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{owner}/equity":{"get":{"tags":["accounts"],"summary":"Account equity history","operationId":"account_equity","parameters":[{"name":"owner","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}},{"name":"range","in":"query","description":"Required. `24h`, `7d`, `30d` or `all`; anything else (missing or empty included) is 400 bad_request.","required":true,"schema":{"type":"string","enum":["24h","7d","30d","all"]}}],"responses":{"200":{"description":"The owner's account equity over time from hourly snapshots (the hour's latest observation; an account with no open position gets a row only when its equity changed), plus current: the equity now from one read (null without an account or position, or while the indexer lags). Equity = free balance + open positions' margin + unrealized PnL, summed over the owner's trading accounts; a position's margin + unrealized PnL is what closing it at the indexed oracle mid would pay after fees (without a fresh price, its margin, counted in unpricedPositions). Queued payouts and wallet USDC are not included. History starts when the service began recording. Every integer is an n-suffixed decimal string; unrealizedPnl may be negative.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_EquityHistory"}}}},"400":{"description":"Invalid address, or range is not 24h, 7d, 30d, or all (bad_request)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"the service revision does not serve the equity history yet (its 404 envelope, forwarded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{owner}/history":{"get":{"tags":["accounts"],"summary":"Account history","operationId":"history","parameters":[{"name":"owner","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","examples":["0xc00d9a508112ec1dff7df53f35f096e26af4ec600dc291264b483d27aeb18b75"]}},{"name":"limit","in":"query","description":"Page size: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted.","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"Deposits, withdrawals, opens, closes, and liquidations. A position closed by the equity session force close has exitKind session.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_HistoryPage"}}}},"400":{"description":"Invalid address or query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{owner}/orders":{"get":{"tags":["orders"],"summary":"Account orders","operationId":"account_orders","parameters":[{"name":"owner","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}},{"name":"status","in":"query","description":"pending, final, unfilled, or all. unfilled: finalized orders that never traded (cancelled, expired, refunded, void), paged like final; a service that predates it answers 400 bad_request.","required":false,"schema":{"type":"string","enum":["pending","final","unfilled","all"]}},{"name":"limit","in":"query","description":"Page size: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted.","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}},{"name":"cursor","in":"query","description":"Opaque cursor from the previous page's nextCursor.","required":false,"schema":{"type":"string","examples":["0xc00d9a508112ec1dff7df53f35f096e26af4ec600dc291264b483d27aeb18b75"]}}],"responses":{"200":{"description":"Two-step order requests for the owner ({ orders: Order[], nextCursor }). Order is { orderId, accountId, owner, requester, marketId, kind: open|close, isLong, margin, leverage, positionId, acceptablePriceWad (advisory: stored and emitted, never enforced at fill), minFactorBps, maxFeeBps, execFee, requestedMs, fillDeadlineMs, cancelAfterMs, emergencyAfterMs, status: pending|filled|liquidated|cancelled|expired|refunded|void|emergency_closed|unknown, reason: null|paused|killed|closed|fee|risk|band|session|retry|revoked (revoked = outcome 15 OUTCOME_REFUND_REVOKED: the submitting delegate was no longer live; looked up for at most 200 orders per read within 1.5 s, else null; band is reserved: outcome 12 OUTCOME_REFUND_BAND is kept, not renumbered, for history only; there is no signed band, two-step fills are at the plain mid and no fill is refunded with it any more; session = outcome 13 OUTCOME_SESSION_CLOSED: refunded because the equity session force close was pending or already closed the position; retry = outcome 14 OUTCOME_REFUND_LIQ_PAUSED: refunded in full, exec fee included, because the bounded liquidated-position reconciliation could not drain the backlog; nothing is paused and the request can be retried; the retired outcome 4 reads unknown with a null reason), fillPriceWad, fillPriceTsMs, fillLatencyMs, refund, requestDigest, finalDigest, finalizedMs }. Every integer, fillLatencyMs included, is an n-suffixed decimal string (\"5000000n\"); request-side fields can be null until the request event is indexed. nextCursor is an opaque page token or null. The service's typed response, as public camelCase JSON.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_OrdersPage"}}}},"400":{"description":"Invalid address, status, limit, or cursor","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{owner}/orders/stream":{"get":{"tags":["orders"],"summary":"Live order stream for an owner (SSE)","operationId":"order_stream","parameters":[{"name":"owner","in":"path","description":"Owner wallet address (0x-prefixed Sui address)","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"Server-Sent Events: the owner's two-step orders as they land, and the owner's deposits and withdrawals. No retry hint and no event ids: the stream opens with a `heartbeat` { timestampMs } at once, then one every 10 s. event order: { type: \"landed\", source, owner, orderId, marketId, side, size, positionId, outcome, reason, fillPrice, priceTs, txDigest }: source is keeper (the filler's own landed transaction, provisional) or indexer (the indexed finalize, authoritative; an order usually arrives from both); side is long, short or null when unknown; outcome is filled or refunded; size (the order's margin, USDC base units), positionId (null for refunds) and fillPrice (1e18-scaled, null when refunded) are plain decimal strings or null; priceTs is a number of milliseconds or null; reason is the refund reason or order status, null when filled. event funds: { kind, owner, accountId, amount, txDigest }: kind is deposit or withdraw, amount a plain decimal string in USDC base units. event reset {}: events may have been missed (a slow reader or a reconnect upstream); refetch the owner's orders and account. The stream closes after 54 to 60 minutes or after 30 s of downstream backpressure; EventSource then reconnects after its default delay, and nothing missed in between is replayed (refetch the owner's orders and account on reconnect).","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"owner is not a Sui address (bad_request)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"overloaded (the process has 4096 order streams open); Retry-After: 1","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{owner}/positions":{"get":{"tags":["accounts"],"summary":"Open positions","operationId":"positions","parameters":[{"name":"owner","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}},{"name":"cursor","in":"query","description":"Position id cursor (decimal) from `nextCursor`.","required":false,"schema":{"type":"string","examples":["50"]}},{"name":"limit","in":"query","description":"Page size: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted.","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"Open positions and nextCursor. cursor and limit are forwarded when present. autoCloseAtMs is when an equity position is force-closed at session end (null otherwise).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_PositionsPage"}}}},"400":{"description":"Invalid address or query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{owner}/trigger-levels":{"get":{"tags":["accounts"],"summary":"On-chain TP/SL levels","operationId":"levels","parameters":[{"name":"owner","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"On-chain TP/SL commitments of the wallet (parchment_triggers package): per open position its latest edit by chain order (revision is caller-supplied and informational), else the levels committed with the open request that created it; then pending open requests with levels. Records only: the trigger service acts on owner-signed triggers (POST /triggers), not on these. All integers are js_bigint strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_ChainTriggerLevelsView"}}}},"400":{"description":"Invalid owner address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Upstream unavailable or unreadable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Upstream timeout","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{owner}/triggers":{"get":{"tags":["accounts"],"summary":"TP/SL triggers","operationId":"list","parameters":[{"name":"owner","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}},{"name":"cursor","in":"query","description":"Opaque cursor from the previous page's nextCursor.","required":false,"schema":{"type":"string","examples":["0xc00d9a508112ec1dff7df53f35f096e26af4ec600dc291264b483d27aeb18b75"]}},{"name":"limit","in":"query","description":"Page size: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted. The service clamps it to `api.max-page-limit`, which is also its default.","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"One page of public attached trigger rows and recent terminal outcomes ({ triggers, nextCursor }; nextCursor is an opaque page token, null on the last page). Pending open intents (lapsed ones included) and open digests are omitted by the service. Rows may include paused, stopLossDropped {reason, ms, wad}, voidReason (order_not_filled, not_in_transaction, ambiguous_open, aborted, expired, cancelled, over_cap, attach_impossible, lapse_evicted), firing, firingMaxEpoch and firingEtaMs. ETA is an estimate, not proof of expiry. All integers are n-suffixed decimal strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Triggers"}}}},"400":{"description":"Invalid owner address, cursor or limit (local), or the service's bad_request for a cursor it did not issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{walletAddress}/builder":{"get":{"tags":["builders"],"summary":"Builder owned by a wallet","operationId":"account_builder","parameters":[{"name":"walletAddress","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"The wallet's builder object, or null. The same fields as the builder read.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Option_Builder"}}}},"400":{"description":"Invalid wallet address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{walletAddress}/builder-allowance":{"get":{"tags":["builders"],"summary":"Self-serve builder allowance","operationId":"builder_allowance","parameters":[{"name":"walletAddress","in":"path","description":"Wallet address that creates self-serve codes","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"The wallet's self-serve allowance, counted like create_builder on chain: created live (not tombstoned) self-serve codes it registered, whoever owns them now (codes transferred to it do not count), limit (3) and remaining. n-suffixed decimal strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_BuilderAllowance"}}}},"400":{"description":"Invalid wallet address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{walletAddress}/builders":{"get":{"tags":["builders"],"summary":"Builders controlled by a wallet","operationId":"account_builders","parameters":[{"name":"walletAddress","in":"path","description":"Builder owner wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"Builders controlled by the wallet; empty array when none.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Vec_Builder"}}}},"400":{"description":"Invalid wallet address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{walletAddress}/queue":{"get":{"tags":["queue"],"summary":"Wallet queue position","operationId":"wallet_queue","parameters":[{"name":"walletAddress","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"Whether the wallet has a queued claim, its net, and its FIFO rank; its claims (at most 200) with position, owed and owedAhead; and the queue length, total owed and LP cash (null until the exchange is indexed).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_AccountQueue"}}}},"400":{"description":"Invalid wallet address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/accounts/{walletAddress}/trading-referral":{"get":{"tags":["accounts"],"summary":"Trading referral","operationId":"trading_referral","parameters":[{"name":"walletAddress","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"referrer (null when unbound), refereeCount, totalEarned and pending (integers as n-suffixed decimal strings, \"5000000n\").","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_TradingReferral"}}}},"400":{"description":"Invalid wallet address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/builders/{code}":{"get":{"tags":["builders"],"summary":"Builder by code","operationId":"builder","parameters":[{"name":"code","in":"path","description":"Builder code","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"id, code, payout, owner, status, selfServe, feeBps, revokeOpen, active, pending, and totalEarned. id, feeBps, pending and totalEarned are n-suffixed decimal strings (\"5000000n\").","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Builder"}}}},"400":{"description":"`bad_request` for an empty code or a dot segment (`.`, `..`); `bad_code` for a code containing NUL (`%00`), not UTF-8 (`%FF`) or over 32 bytes; any other code is percent-encoded and looked up","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"Builder code not registered (forwarded from the service)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/cards/pnl":{"get":{"tags":["game"],"summary":"PnL card","operationId":"pnl_card","parameters":[{"name":"positionId","in":"query","description":"Position id: canonical decimal (digits only, no sign, whitespace or leading zero), else 400 bad_position (empty included; \"0007\" is refused, not echoed). A canonical decimal above 18446744073709551615 names no position: 404 position_not_found, without calling the service. Omitted: the service's position_required.","required":false,"schema":{"type":"string","examples":["1042"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"PnL card. positionId is forwarded when present and omitted when omitted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_PnlCard"}}}},"400":{"description":"position_required from the service (positionId omitted); bad_position (positionId not a canonical decimal, checked locally)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"position_not_found: from the service for an unknown positionId, locally for one above 18446744073709551615","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/config":{"get":{"tags":["protocol"],"summary":"Config","operationId":"config","responses":{"200":{"description":"Package ids, object ids, storage type, and feed pins, as public camelCase JSON. basePackageId(s), gamePackageId(s) and mintPackageId(s) are the split packages (original first, latest last; empty when the service does not serve them). tokenPackageIds and oraclePackageIds list every token and oracle package version (original first, latest last, so the last equals tokenPackageId / oraclePackageId; empty when the service does not serve them). lazerIntegrationPackageId is the Pyth Lazer integration package whose price_feed_storage::update_price_feed the close and liquidation transactions call (null when the service does not serve it). Every integer is an n-suffixed decimal string (\"5000000n\"). maxPendingOrders is the admin-set per-account cap on pending two-step opens (the contract default \"64n\" until the service has indexed the config). Compare an account's pendingOpenOrders with maxPendingOrders before a request-open: a request-open while pendingOpenOrders >= maxPendingOrders aborts order::ETooManyOrders; closes are never capped. Older services omit it. trim is the global close-preview trim { maxShareBps, cPpm, source: indexed|default } (n-suffixed decimal strings; applies to every market; source is default until the service has indexed the config); older services omit it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Config"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/feed/rekt":{"get":{"tags":["game"],"summary":"Rekt feed","operationId":"rekt","parameters":[{"name":"limit","in":"query","description":"Page size: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted (service default 50).","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"Rekt feed. The service's typed response, as public camelCase JSON; entries carry side, isLong, leverage and kind.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Feed"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/feed/whales":{"get":{"tags":["game"],"summary":"Whale feed","operationId":"whales","parameters":[{"name":"limit","in":"query","description":"Page size: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted (service default 50).","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"Whale feed. The service's typed response, as public camelCase JSON; entries carry side, isLong, leverage and kind.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Feed"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/game/definitions":{"get":{"tags":["game"],"summary":"Game definitions","operationId":"definitions","responses":{"200":{"description":"Quest, achievement (with mintAmount) and cosmetic definitions plus achievementMintFractionBps and the service progression catalog (XP rules, tiers, achievements and cosmetics). The service's typed response, as public camelCase JSON. Quests, daily claims and crates grant XP/cosmetics only; FEES_PAID achievements are the only game mint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_GameDefinitions"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/game/{walletAddress}":{"get":{"tags":["game"],"summary":"Game profile","operationId":"game","parameters":[{"name":"walletAddress","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"Game state for the wallet, including service XP, levels, named tiers, achievement progress, cosmetic ownership and card drops. chainXp and chainAchievementIds/chainCosmeticIds preserve the on-chain counters. The service's typed response, as public camelCase JSON, every integer an n-suffixed decimal string (\"5000000n\"), including pendingMint, lastDailyDay, dailyClaimedToday, feeCredit / feeCreditUsed, achievementMintFractionBps and feeAchievements (feesRequired, feesNeeded, eligibleMint, mintAtUnlock, unlocked). lockedLedgerStatus is current, rebuilding or failed; the seven locked-mint ledger figures (lockedBalance, lockWindowBalance, nextUnlockMs, vestingBalance, releasableNow, earlyExitPaidNow, earlyExitPenaltyNow) are n-suffixed decimal strings while it is current and null otherwise (never zero-filled). earlyExitUnlocks is the n-suffixed decimal list of ledger entries earlyExitPenaltyNow covers, read with earlyExitPaidNow and earlyExitPenaltyNow in one ledger snapshot; pass it and earlyExitPenaltyNow (as maxPenalty) to exit-early-bounded. It is null when the ledger is not current or the service does not serve the quote (404); another quote failure is the route's error. A quote that finds the ledger no longer current serves that status with every ledger figure null. Only fee-backed achievements accrue game PARCHMENT; collect-mint issues it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_GameProfile"}}}},"400":{"description":"Invalid wallet address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/game/{walletAddress}/xp-ledger":{"get":{"tags":["game"],"summary":"XP ledger","operationId":"xp_ledger","parameters":[{"name":"walletAddress","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}},{"name":"cursor","in":"query","description":"Offset cursor returned by the service.","required":false,"schema":{"type":"string","examples":["0xc00d9a508112ec1dff7df53f35f096e26af4ec600dc291264b483d27aeb18b75"]}},{"name":"limit","in":"query","description":"Page size; the service defaults to 50 and caps at 200.","required":false,"schema":{"type":"string","examples":["50"]}}],"responses":{"200":{"description":"Service XP ledger, newest first, with the next offset cursor.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_LedgerPage"}}}},"400":{"description":"Invalid wallet, cursor or limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"xp_rebuilding while the service rebuilds progression","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/leaderboards":{"get":{"tags":["game"],"summary":"Leaderboards","operationId":"leaderboards","parameters":[{"name":"period","in":"query","description":"Window: daily, weekly, all or season; omitted or empty is all. Anything else is 400 bad_period.","required":false,"schema":{"type":"string","enum":["daily","weekly","all","season"]}},{"name":"by","in":"query","description":"Ranking metric: pnl (realized PnL), pnlPct (PnL in basis points of margin), volume (open notional), winStreak or xp; omitted or empty is pnl. Anything else is 400 bad_metric.","required":false,"schema":{"type":"string","enum":["pnl","pnlPct","volume","winStreak","xp"]}},{"name":"owner","in":"query","description":"Viewer wallet: normalized; an empty value is omitted; anything else is 400 bad_request.","required":false,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]}},{"name":"cursor","in":"query","description":"Row offset: ASCII digits up to 18446744073709551615 (surrounding whitespace trimmed); an empty value is omitted; anything else is 400 bad_cursor.","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^[0-9]+$"}},{"name":"limit","in":"query","description":"Page size: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted.","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}},{"name":"nowMs","in":"query","description":"Clock for the day/week windows, canonical decimal (digits only, no sign, whitespace or leading zero) from 0 to 18446744073709551615, else 400 bad_time; an empty value is omitted (service default: its own clock). Negative values are 400.","required":false,"schema":{"type":"string","examples":["1796677200000"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"Leaderboards. period, by, owner (normalized), cursor (canonical), limit, and nowMs are forwarded when present and omitted when omitted. Rows and viewer carry per-period stats.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Leaderboard"}}}},"400":{"description":"Invalid limit (bad_request) or nowMs (bad_time): not a canonical decimal up to 18446744073709551615; owner not an address (bad_request); cursor not ASCII digits up to 18446744073709551615 (bad_cursor)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"season_rebuilding: the service is rebuilding the season leaderboard; retry later","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/limits":{"get":{"tags":["protocol"],"summary":"API limits","operationId":"limits","responses":{"200":{"description":"Limits this API preserves. Settlement prices come only from the pinned on-chain price storage.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitsBody"}}}}}}},"/lp":{"get":{"tags":["lp"],"summary":"House pool (LP)","operationId":"lp","responses":{"200":{"description":"LP cash, equity, fees, the retained-fee staker share curve (stakerShareBps, stakerShareMinBps/MaxBps, stakerCovLowBps/HighBps), and FIFO claims. feeStaker (USDC base units) waits in the exchange until the keeper sweeps it into the staking reward stream, which it does once feeStaker is at least stakerSweepMinAmount (USDC base units; null when the service does not serve it). There is no distPaused: Claims are never blocked by pool coverage; only an admin/guardian emergency pause can halt them.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Lp"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/lp/queue":{"get":{"tags":["protocol"],"summary":"LP payout queue","operationId":"lp_queue","responses":{"200":{"description":"LP vault payout queue: length, total owed, LP cash, head and claims.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_LpQueue"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/markets":{"get":{"tags":["markets"],"summary":"List markets","operationId":"list_markets","responses":{"200":{"description":"Markets. price.status is price_unavailable when the storage price has not been read. delisted is true for a market removed from the Registry (still listed, no longer polled). Equity markets carry hoursMode, sessionState (open|closed|draining; draining while the session force close settles open positions), sessionEndsAtMs (every open position is force-closed then) and nextSessionOpenMs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_MarketList"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/markets/candles":{"get":{"tags":["prices"],"summary":"Candles for several markets","operationId":"candles_batch","parameters":[{"name":"markets","in":"query","description":"Comma-separated market object ids (required): 1 to 64 once normalized and de-duplicated, the first of each kept in request order.","required":true,"schema":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]}},{"name":"resolution","in":"query","description":"Candle interval, aligned on the Unix epoch (UTC): 1s, 5s, 15s, 1m, 5m, 15m, 1h, 4h or 1d\n(required). 1s, 5s and 15s reach back only as far as the service keeps its 1 s Lazer bars\n(7 days by default).","required":true,"schema":{"type":"string","enum":["1s","5s","15s","1m","5m","15m","1h","4h","1d"]}},{"name":"fromMs","in":"query","description":"Inclusive start, milliseconds; same rules as the prices fromMs. Raised to the start of the limit-th newest interval up to toMs.","required":false,"schema":{"type":"string","examples":["1796590800000"]}},{"name":"toMs","in":"query","description":"Inclusive end, milliseconds (default: the end of the current interval, so a batch reads one window); same rules as the prices fromMs.","required":false,"schema":{"type":"string","examples":["1796677200000"]}},{"name":"limit","in":"query","description":"Newest intervals read: canonical decimal from 1 (default and at most 500; larger values are clamped by the service); an empty value is omitted.","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"The candles of each market, as GET /markets/{id}/candles answers them (same cache entries), with one window for the batch. A market whose read fails (unknown market, service error, or no answer within 15 s for the whole batch) carries that read's error instead; the rest still succeed. Cache-Control as on the single-market route for the oldest answer, or no-store when any series is an error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_CandlesBatch"}}}},"400":{"description":"Invalid query or market id; too_many_markets above 64","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/markets/stats":{"get":{"tags":["markets"],"summary":"Market stats","operationId":"market_stats","responses":{"200":{"description":"Per-market 24h volume (opened + closed notional), opens/closes and open interest.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_MarketStatsResponse"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/markets/{id}":{"get":{"tags":["markets"],"summary":"Market","operationId":"get_market","parameters":[{"name":"id","in":"path","description":"Market object id","required":true,"schema":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"One market. delisted is true when it was removed from the Registry. Session fields as in the list (hoursMode, sessionState, sessionEndsAtMs, nextSessionOpenMs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_MarketResponse"}}}},"400":{"description":"Invalid market id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"market_not_found from the service","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/markets/{id}/candles":{"get":{"tags":["prices"],"summary":"Candles","operationId":"candles","parameters":[{"name":"id","in":"path","description":"Market object id","required":true,"schema":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}},{"name":"resolution","in":"query","description":"Candle interval, aligned on the Unix epoch (UTC): 1s, 5s, 15s, 1m, 5m, 15m, 1h, 4h or 1d\n(required). 1s, 5s and 15s reach back only as far as the service keeps its 1 s Lazer bars\n(7 days by default).","required":true,"schema":{"type":"string","enum":["1s","5s","15s","1m","5m","15m","1h","4h","1d"]}},{"name":"fromMs","in":"query","description":"Inclusive start, milliseconds; same rules as the prices fromMs. Raised to the start of the limit-th newest interval up to toMs.","required":false,"schema":{"type":"string","examples":["1796590800000"]}},{"name":"toMs","in":"query","description":"Inclusive end, milliseconds (default: the end of the current interval, so a batch reads one window); same rules as the prices fromMs.","required":false,"schema":{"type":"string","examples":["1796677200000"]}},{"name":"limit","in":"query","description":"Newest intervals read: canonical decimal from 1 (default and at most 500; larger values are clamped by the service); an empty value is omitted.","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"OHLC candles of the market's price points in the newest limit intervals of [fromMs, toMs], oldest first; an interval without a price point has no candle, except that 1s and 5s fill a quiet slot of a live 15 s bucket with a flat candle at the previous close. Answers are cached for 2 s, and served up to 10 s old while one refresh runs; 1s answers are cached for 0.5 s and served up to 1.5 s old, 5s and 15s for 1 s and up to 3 s, 4h and 1d for 15 s and up to 60 s. Concurrent misses share one service read per request key. Cache-Control: public, max-age=86400, immutable when the answer was read once toMs was before the current interval and at least 10 minutes old; otherwise public, with max-age and stale-while-revalidate the whole seconds left of the answer's cache windows above.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Candles"}}}},"400":{"description":"Invalid market id or query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found when the service does not support candles (frontend fallback signal), or market_not_found for an unknown market","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"Service unavailable; Retry-After: 1","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/markets/{id}/corporate-actions":{"get":{"tags":["markets"],"summary":"Corporate actions and open pauses","operationId":"corporate_actions","parameters":[{"name":"id","in":"path","description":"Market object id","required":true,"schema":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"Upcoming and active scheduled-event pauses of new opens on this market (dividends and earnings, oldest window first), and why opens are paused now: pauseReason dividend or earnings (paused for that event), other (any other pause) or null (not paused). An event with paused true blocks new opens even while opensPaused is false (the keeper's event pause). closePositionsMs is when the keeper closes existing positions for the event, null when event close is not live. Commodity markets also carry the keeper's event pause (pauseUntilMs), its leverage cap on new opens (leverageCap, leverageCapReason, leverageCapLabel, leverageCapUntilMs; events with action cap and maxLeverage), dailyBreak and pauseBeforeCloseMinutes. Floats are JSON numbers, times js_bigint ms. 404 from a service revision that does not serve it yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_CorporateActions"}}}},"400":{"description":"Invalid market id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"market_not_found from the service","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable or answered unreadably","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/markets/{id}/orderbook":{"get":{"tags":["markets"],"summary":"Order book","operationId":"orderbook","parameters":[{"name":"id","in":"path","description":"Market object id","required":true,"schema":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"Synthetic order book: one bid and ask at midWad, each with size null, spreadWad zero, spreadSource null and indicative false. Unavailable prices have empty bids and asks. Includes timestampMs, ageMs and stale. One-step spreads remain on the market and price views. There is no on-chain book.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_OrderBook"}}}},"400":{"description":"Invalid market id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"market_not_found from the service","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/markets/{id}/prices":{"get":{"tags":["prices"],"summary":"Price history","operationId":"price_history","parameters":[{"name":"id","in":"path","description":"Market object id","required":true,"schema":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}},{"name":"fromMs","in":"query","description":"Inclusive start, milliseconds: canonical decimal (digits only, no sign, whitespace or leading zero), 0 to 18446744073709551615, else 400 bad_request (negative and empty included).","required":false,"schema":{"type":"string","examples":["1796590800000"],"pattern":"^(0|[1-9][0-9]*)$"}},{"name":"toMs","in":"query","description":"Inclusive end, milliseconds; same rules as fromMs.","required":false,"schema":{"type":"string","examples":["1796677200000"]}},{"name":"limit","in":"query","description":"Page size: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted.","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"Storage and fill points from the service","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_PriceHistory"}}}},"400":{"description":"Invalid market id or query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/openapi.json":{"get":{"tags":["protocol"],"summary":"OpenAPI document","operationId":"openapi","responses":{"200":{"description":"This OpenAPI 3.1 document","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/orders/digest-hint":{"post":{"tags":["orders"],"summary":"Submit an order digest hint","operationId":"digest_hint","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigestHintRequest"}}},"required":true},"responses":{"200":{"description":"Pending orders fed to the filler","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_HintAccepted"}}}},"400":{"description":"Invalid digest or request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"Transaction not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"Order already finalized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large (64 KiB limit)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"422":{"description":"No Parchment order request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/orders/{orderId}":{"get":{"tags":["orders"],"summary":"Order","operationId":"order","parameters":[{"name":"orderId","in":"path","description":"OrderRequest object id","required":true,"schema":{"type":"string","examples":["0x8a79598616df8d6e8de46f0234cf3d4e468c05fa00ed82fb783ecc43823555d1"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"One two-step order ({ order: Order }, same shape as the account list). Poll it until status != pending.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_OrderResponse"}}}},"400":{"description":"orderId is not an address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"order_not_found from the service","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/positions/recent":{"get":{"tags":["protocol"],"summary":"Recent positions","operationId":"recent_positions","parameters":[{"name":"limit","in":"query","description":"Page size: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted.","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"Recent opens, closes and liquidations (ticker). Opens carry entryWad; closes and liquidations carry exitWad. priceWad is the relevant one. limit (canonical decimal, 1 to 18446744073709551615) is forwarded when present; an empty limit is omitted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_RecentPositions"}}}},"400":{"description":"limit is not a canonical positive integer up to 18446744073709551615 (bad_request; \"0007\", \"+7\", \" 7\" included)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/positions/{id}":{"get":{"tags":["accounts"],"summary":"Position","operationId":"position","parameters":[{"name":"id","in":"path","description":"Position id: canonical decimal (digits only, no sign, whitespace or leading zero). A canonical decimal above 18446744073709551615 names no position and is 404 position_not_found without calling the service.","required":true,"schema":{"type":"string","examples":["1042"]}}],"responses":{"200":{"description":"One position ({ position }), including autoCloseAtMs (equity session end, else null). The service's typed response, as public camelCase JSON.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_PositionResponse"}}}},"400":{"description":"Position id is not a canonical decimal integer (bad_request; \"0007\" and \"+7\" included)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"position_not_found: from the service for an unknown id, locally for one above 18446744073709551615","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/previews/close":{"post":{"tags":["previews"],"summary":"Preview a close","operationId":"preview_close","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewCloseRequest"}}},"required":true},"responses":{"200":{"description":"Close preview, as public camelCase JSON. fillWad/exitWad are the oracle mid; oneStepWad (n-suffixed decimal or null) is the one-step exit price emergency close and close_retired pay (the mid moved by the one-step spread against the position); oneStepSpreadBps and emergencyAfterMs (a delay; the contract bounds it to 5000..=60000 ms, default 15000, so emergency close is never disabled) are n-suffixed decimal strings like every integer (\"5000000n\"; fillWindowMs/cancelDelayMs/signedWindowMs included; pnl includes builderFee and builderFeeBps). liquidationPaused (bool or null) is true only under the market's oracle kill switch (liquidate aborts trade::EOracleKilled 20 then; no pause stops liquidation), null for an unindexed market. errors includes price_unavailable when the storage price has not been read.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_PreviewClose"}}}},"400":{"description":"Non-object body, sponsor / txKind which this API does not implement, or a positionId / nowMs / topUp / slippageBps / acceptableExitWad of the wrong type, a JSON number or plain decimal string included: integers are n-suffixed decimal strings such as \"7n\" (bad_request, local, the service is not called)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"position_not_found: locally for a missing or null positionId, from the service for an unknown one","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/previews/open":{"post":{"tags":["previews"],"summary":"Preview an open","operationId":"preview_open","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewOpenRequest"}}},"required":true},"responses":{"200":{"description":"Open preview, as public camelCase JSON. fillWad/entryWad are the oracle mid (the two-step fill price); oneStepWad (n-suffixed decimal or null) is the one-step reference price (the mid moved by the one-step spread against the trader); every integer (WADs, oneStepSpreadBps, fillWindowMs, cancelDelayMs, signedWindowMs, ...) is an n-suffixed decimal string (\"5000000n\"). errors includes price_unavailable when the storage price has not been read. spreadSource stays floor.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_PreviewOpen"}}}},"400":{"description":"Non-object body, an isLong that is present, not null and not a JSON boolean (bad_request; an omitted or null isLong is forwarded without it and the service reads it as long), sponsor / txKind which this API does not implement, a missing margin / leverage or a field of the wrong type, a JSON number or plain decimal string included: integers are n-suffixed decimal strings such as \"1000000n\" (bad_request, local, the service is not called), or the service's 400 for a malformed marketId / accountId. An out-of-range margin / leverage (such as \"0n\") is the service's 200 with an errors list.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"market_not_found: locally for a missing or null marketId, from the service for an unknown one","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/prices":{"get":{"tags":["prices"],"summary":"Prices","operationId":"prices","responses":{"200":{"description":"Latest storage reads. status is price_unavailable when the storage has not been read or decoded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Prices"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/prices/stream":{"get":{"tags":["prices"],"summary":"Live price stream (SSE)","operationId":"price_stream","parameters":[{"name":"markets","in":"query","description":"Comma-separated market object ids (at most 64); omitted streams every market","required":false,"schema":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]}}],"responses":{"200":{"description":"Server-Sent Events, display only (charts; marks, fills and PnL use the storage price). A `retry: 1000` hint first; `price` events { marketId, symbol, priceWad, timestampMs } (n-suffixed decimal strings, priceWad 1e18-scaled), at most 10 per second per market, never a market's price twice or backwards, each market's latest first; `unavailable` events { marketId } when a market whose price was sent stops being current (a stalled feed, or the gateway reconnecting upstream): show its last price as stale until its next `price` event, which may repeat it; `heartbeat` { timestampMs } every 10 s. The stream ends after 54 to 60 minutes, or after 30 s of downstream backpressure.","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"Bad markets filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"stream_unavailable (no live price source) or overloaded (the process has 2048 price streams open); Retry-After: 1","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/protocol":{"get":{"tags":["protocol"],"summary":"Protocol summary","operationId":"protocol","responses":{"200":{"description":"Open interest, volume, and equity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Protocol"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/queue":{"get":{"tags":["queue"],"summary":"Payout queue","operationId":"payout_queue","responses":{"200":{"description":"Queue length, total owed, LP cash, the instantly payable amount, and owedToLpCashBps (null without LP cash).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_QueueSummary"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/referrals/{address}":{"get":{"tags":["referrals"],"summary":"Referrals","operationId":"referrals","parameters":[{"name":"address","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}},{"name":"limit","in":"query","description":"Page size: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted.","required":false,"schema":{"type":"string","examples":["50"],"pattern":"^(0|[1-9][0-9]*)$"}},{"name":"directCursor","in":"query","description":"Direct referee cursor (address).","required":false,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]}},{"name":"secondLevelCursor","in":"query","description":"Second-level referee cursor (address).","required":false,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]}}],"responses":{"200":{"description":"Direct and second-level binds. estimatedDirectBonus and estimatedSecondBonus are estimates, not settled amounts. The estimate string is forwarded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Referrals"}}}},"400":{"description":"Invalid address or query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor":{"post":{"tags":["transactions"],"summary":"Sponsor a session-key transaction","operationId":"sponsor","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SponsorRequest"}}},"required":true},"responses":{"200":{"description":"Gas sponsorship of a session-key (delegate) trade: request-open-as-delegate, request-close-as-delegate (Close All: up to 16 closes in one transaction), cancel-order-as-delegate (up to 16), emergency-close-as-delegate, close-retired-as-delegate. Owner actions are not sponsored (the wallet pays). Body: sender (the session key address, a live delegate of the account the kind trades on), txKindBase64 (the txBytesBase64 from /transactions/{action}), senderSignature (base64 Ed25519 UserSignature by sender, from signPersonalMessage, of the five lines \"Parchment session-key sponsorship v1\", \"sender: <sender>\", \"accountId: <account>\", \"txKindSha256: <sha256>\", \"expiresAtMs: <decimal>\" joined by \\n, no trailing newline; addresses 0x + 64 lowercase hex, txKindSha256 the lowercase hex SHA-256 of the kind bytes) and expiresAtMs (n-suffixed decimal unix ms, later than the service clock and at most 120000 ms after it); no other field. Returns txBytesBase64 (full TransactionData with the sponsor as gas owner, address-balance gas, single-use, valid in validEpoch only), sponsorSignature, digest, sender, sponsor, action, gasMode, gasBudget, gasPrice, estimatedGas, validEpoch. The session key signs txBytesBase64 unchanged; execute with [sessionSignature, sponsorSignature]. An identical request while its signature is unresolved returns the same transaction.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Sponsored"}}}},"400":{"description":"Invalid body (bad_request: missing senderSignature or expiresAtMs, missing or non-address sender, missing or non-string txKindBase64, non-string senderSignature, expiresAtMs not an n-suffixed decimal string, or any other field, txBytesBase64 included; bad_tx_kind: an empty or non-base64 kind after trimming; bad_session_proof_expiry: expiresAtMs more than 120000 ms after the service clock), or a kind the service will not sponsor: bad_tx_kind, not_programmable, sender_is_sponsor, too_many_commands, too_many_inputs, disallowed_package, disallowed_function, disallowed_type_argument, disallowed_command, disallowed_transfer, gas_coin_used, sponsor_withdrawal, unsupported_input, price_not_allowed, no_trade, mixed_trades, too_many_trades, mixed_accounts, bad_account, paused, simulation_failed, gas_budget_exceeded. Pay with the wallet only on gas_budget_exceeded; on the others the transaction would fail.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Session proof refused (the service's codes, passed through): bad_session_proof (senderSignature is not an Ed25519 personal-message signature by sender of the proof for this account, kind and expiresAtMs), session_proof_expired (expiresAtMs is not after the service clock). Sign the proof again with the session key; never fall back to the wallet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"403":{"description":"not_delegate: sender is not a live delegate of the account (never granted, expired or revoked). Forget the session key and use the wallet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large: request body over 64 KiB","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Sponsor-ledger limits, per Parchment account (shared by all of its session keys), sent with Retry-After: 60: in_flight_limit (an unresolved sponsored signature, held until it lands or its epoch ends), account_rate_limited, request_rate_limited, account_failure_limit. The service checks the window, per-action and failure limits before the in-flight limit, so any of them can hide an unresolved sponsored signature: pay your own gas only if no sponsored bytes for this intent were signed.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"sponsor_unavailable: sponsorship disabled, sponsor balance unknown or below the floor, daily cap reached, the signer, node or simulation is down or timed out, or the sponsor ledger write failed; or the service's generic overloaded. The service sends Retry-After: 1 on every 503; pay your own gas rather than polling.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/deposit/build":{"post":{"tags":["transactions"],"summary":"Sponsor a deposit","operationId":"sponsored_deposit_build","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SponsoredFlowBuildRequest"}}},"required":true},"responses":{"200":{"description":"Gas sponsorship of a deposit into the wallet's own account: the sponsor pays gas, the wallet pays feeUsdc of /sponsor/deposit/config in USDC in the same transaction. Body: sender (the wallet, 0x address) and txKindBase64 (base64 TransactionKind bytes, built with onlyTransactionKind); no other field. The PTB calls exchange::deposit<USDC> exactly once, into the sender's own account (its on-chain owner is the sender) with its AccountCap, at least minDepositUsdc, plus 0x2::coin::redeem_funds / send_funds and SplitCoins / MergeCoins. send_funds pays only the sender or feeRecipient, and feeUsdc reaches feeRecipient through send_funds. Returns txBytesBase64 (full TransactionData with the sponsor as gas owner), digest, feeUsdc and expiresAtMs. The wallet signs txBytesBase64 unchanged and posts it with the signature to /sponsor/deposit/execute before expiresAtMs, then polls GET /sponsor/deposit/{digest}.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsoredFlowBuilt"}}}},"400":{"description":"Invalid body (bad_request: not a JSON object, missing or non-string sender or txKindBase64, sender not an address, or any other field; bad_tx_kind: txKindBase64 is not non-empty standard base64 after trimming), or a transaction the service will not sponsor: shape_refused (not this flow's transaction as described), fee_short (the fee is missing, too small or not sent to feeRecipient), deposit_below_min (setup and deposit: the deposit is under minDepositUsdc), bad_account (deposit and withdraw: not the sender's own account), paused, simulation_failed (the transaction would fail; nothing was sent).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"account_exists (setup: the wallet already has an account; it pays its own gas), in_flight (a sponsored transaction of this wallet, in any flow, is still in flight; poll its status first). Build records nothing per wallet: in_flight here is a read-only pre-check, enforced at execute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large: request body over 64 KiB","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"cap_reached: the sponsored transaction limit (rate or failures) is reached, sent with Retry-After: 60. Retry later, or pay your own gas. A read-only pre-check here; enforced at execute.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"sponsor_unavailable: sponsorship disabled or the sponsor is unavailable; or the service's generic overloaded. Sent with Retry-After: 1.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/deposit/config":{"get":{"tags":["transactions"],"summary":"Sponsored flow terms","operationId":"sponsored_deposit_config","responses":{"200":{"description":"The flow's terms: enabled (whether the flow is sponsored now), feeUsdc (the flat fee, USDC base units, the transaction sends to feeRecipient), minDepositUsdc (the smallest deposit, USDC base units; null for withdraw), feeRecipient and sponsor (the gas owner) as 0x addresses (null when sponsorship is not configured), and maxGasMist (the most gas the sponsor pays for one transaction). Read it before building the transaction kind; amounts are n-suffixed decimal strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsoredFlowConfig"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"sponsor_unavailable: sponsorship is unavailable; or the service's generic overloaded. Sent with Retry-After: 1.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/deposit/execute":{"post":{"tags":["transactions"],"summary":"Execute a sponsored flow transaction","operationId":"sponsored_deposit_execute","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SponsoredFlowExecuteRequest"}}},"required":true},"responses":{"200":{"description":"The transaction was sent: its digest. Body: txBytesBase64 (exactly as the flow's build returned it) and userSignature (the wallet's base64 UserSignature of it); no other field. The service keeps no built transactions: it judges the posted bytes on their own (shape, gas owner, price and budget, epoch, the signature, a fresh simulation), then applies the per-wallet limits (in_flight, cap_reached) once the signature is verified. Posting the same bytes again after they were submitted answers 200 with the same digest and submits nothing new. Poll the flow's GET status route with the digest for the result. Every 4xx means nothing was submitted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsoredFlowExecuted"}}}},"400":{"description":"Nothing was submitted. bad_request (not a JSON object, missing or non-string txBytesBase64 or userSignature, txBytesBase64 not non-empty standard base64 after trimming, or any other field), bad_signature (userSignature is not the sender's signature of txBytesBase64), or the build's refusals rechecked: shape_refused, fee_short, deposit_below_min, bad_account, paused, simulation_failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"account_exists, in_flight (a sponsored transaction of this wallet, in any flow, is still in flight); nothing was submitted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"410":{"description":"expired: the bytes' epoch has ended; nothing was submitted, build it again","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large: request body over 64 KiB","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"cap_reached: the sponsored transaction limit (rate or failures) is reached, sent with Retry-After: 60; nothing was submitted","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"execute_failed: the network refused or did not confirm the transaction; or bad gateway: the service is temporarily unavailable. Check the flow's GET status route before building again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"sponsor_unavailable: the sponsor is unavailable; or the service's generic overloaded. Sent with Retry-After: 1. Nothing was submitted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time. Check the flow's GET status route before building again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/deposit/{digest}":{"get":{"tags":["transactions"],"summary":"Sponsored flow transaction status","operationId":"sponsored_deposit_status","parameters":[{"name":"digest","in":"path","description":"The base58 transaction digest of the flow's build","required":true,"schema":{"type":"string","examples":["cgQt9nJzVJejFdAFSrw36bZHABJGw7sEWRF8Vd43uZnz"]}}],"responses":{"200":{"description":"status: pending (submitted by execute, not final yet; a digest never submitted is 404 digest_unknown), success or failure (with error, why it failed). error is present only on failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsoredFlowStatus"}}}},"400":{"description":"bad_request: digest is not a non-empty base58 string","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"digest_unknown: no sponsored transaction of this flow with this digest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/execute":{"post":{"tags":["transactions"],"summary":"Execute a sponsored order transaction","operationId":"sponsor_execute","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SponsorExecuteRequest"}}},"required":true},"responses":{"200":{"description":"Execution result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsorExecuted"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"Transaction is not pending sponsorship","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large (64 KiB limit)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: execution failed or the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"Sponsorship unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: execution or the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/setup/build":{"post":{"tags":["transactions"],"summary":"Sponsor an account setup","operationId":"sponsored_setup_build","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SponsoredFlowBuildRequest"}}},"required":true},"responses":{"200":{"description":"Gas sponsorship of a wallet's first account setup: the sponsor pays gas, the wallet pays feeUsdc of /sponsor/setup/config in USDC in the same transaction. Body: sender (the wallet, 0x address) and txKindBase64 (base64 TransactionKind bytes, built with onlyTransactionKind); no other field. The PTB calls exchange::new_account, deposit (at least minDepositUsdc), optionally grant_delegate / grant_close_delegate or grant_session_and_close_delegate (the session delegate is neither the sponsor nor feeRecipient, with any expiry the regular setup grants; the close delegate is the service's trigger delegate), and share_account, each at most once, new_account first and share_account last among them, plus 0x2::coin::redeem_funds / send_funds and SplitCoins / MergeCoins. send_funds pays only the sender or feeRecipient, and feeUsdc reaches feeRecipient through send_funds. Returns txBytesBase64 (full TransactionData with the sponsor as gas owner), digest, feeUsdc and expiresAtMs. The wallet signs txBytesBase64 unchanged and posts it with the signature to /sponsor/setup/execute before expiresAtMs, then polls GET /sponsor/setup/{digest}.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsoredFlowBuilt"}}}},"400":{"description":"Invalid body (bad_request: not a JSON object, missing or non-string sender or txKindBase64, sender not an address, or any other field; bad_tx_kind: txKindBase64 is not non-empty standard base64 after trimming), or a transaction the service will not sponsor: shape_refused (not this flow's transaction as described), fee_short (the fee is missing, too small or not sent to feeRecipient), deposit_below_min (setup and deposit: the deposit is under minDepositUsdc), bad_account (deposit and withdraw: not the sender's own account), paused, simulation_failed (the transaction would fail; nothing was sent).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"account_exists (setup: the wallet already has an account; it pays its own gas), in_flight (a sponsored transaction of this wallet, in any flow, is still in flight; poll its status first). Build records nothing per wallet: in_flight here is a read-only pre-check, enforced at execute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large: request body over 64 KiB","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"cap_reached: the sponsored transaction limit (rate or failures) is reached, sent with Retry-After: 60. Retry later, or pay your own gas. A read-only pre-check here; enforced at execute.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"sponsor_unavailable: sponsorship disabled or the sponsor is unavailable; or the service's generic overloaded. Sent with Retry-After: 1.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/setup/config":{"get":{"tags":["transactions"],"summary":"Sponsored flow terms","operationId":"sponsored_setup_config","responses":{"200":{"description":"The flow's terms: enabled (whether the flow is sponsored now), feeUsdc (the flat fee, USDC base units, the transaction sends to feeRecipient), minDepositUsdc (the smallest deposit, USDC base units; null for withdraw), feeRecipient and sponsor (the gas owner) as 0x addresses (null when sponsorship is not configured), and maxGasMist (the most gas the sponsor pays for one transaction). Read it before building the transaction kind; amounts are n-suffixed decimal strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsoredFlowConfig"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"sponsor_unavailable: sponsorship is unavailable; or the service's generic overloaded. Sent with Retry-After: 1.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/setup/execute":{"post":{"tags":["transactions"],"summary":"Execute a sponsored flow transaction","operationId":"sponsored_setup_execute","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SponsoredFlowExecuteRequest"}}},"required":true},"responses":{"200":{"description":"The transaction was sent: its digest. Body: txBytesBase64 (exactly as the flow's build returned it) and userSignature (the wallet's base64 UserSignature of it); no other field. The service keeps no built transactions: it judges the posted bytes on their own (shape, gas owner, price and budget, epoch, the signature, a fresh simulation), then applies the per-wallet limits (in_flight, cap_reached) once the signature is verified. Posting the same bytes again after they were submitted answers 200 with the same digest and submits nothing new. Poll the flow's GET status route with the digest for the result. Every 4xx means nothing was submitted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsoredFlowExecuted"}}}},"400":{"description":"Nothing was submitted. bad_request (not a JSON object, missing or non-string txBytesBase64 or userSignature, txBytesBase64 not non-empty standard base64 after trimming, or any other field), bad_signature (userSignature is not the sender's signature of txBytesBase64), or the build's refusals rechecked: shape_refused, fee_short, deposit_below_min, bad_account, paused, simulation_failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"account_exists, in_flight (a sponsored transaction of this wallet, in any flow, is still in flight); nothing was submitted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"410":{"description":"expired: the bytes' epoch has ended; nothing was submitted, build it again","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large: request body over 64 KiB","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"cap_reached: the sponsored transaction limit (rate or failures) is reached, sent with Retry-After: 60; nothing was submitted","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"execute_failed: the network refused or did not confirm the transaction; or bad gateway: the service is temporarily unavailable. Check the flow's GET status route before building again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"sponsor_unavailable: the sponsor is unavailable; or the service's generic overloaded. Sent with Retry-After: 1. Nothing was submitted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time. Check the flow's GET status route before building again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/setup/{digest}":{"get":{"tags":["transactions"],"summary":"Sponsored flow transaction status","operationId":"sponsored_setup_status","parameters":[{"name":"digest","in":"path","description":"The base58 transaction digest of the flow's build","required":true,"schema":{"type":"string","examples":["cgQt9nJzVJejFdAFSrw36bZHABJGw7sEWRF8Vd43uZnz"]}}],"responses":{"200":{"description":"status: pending (submitted by execute, not final yet; a digest never submitted is 404 digest_unknown), success or failure (with error, why it failed). error is present only on failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsoredFlowStatus"}}}},"400":{"description":"bad_request: digest is not a non-empty base58 string","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"digest_unknown: no sponsored transaction of this flow with this digest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/submit":{"post":{"tags":["transactions"],"summary":"Sponsor and execute a session-key trade in one call","operationId":"submit","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SponsorSubmitRequest"}}},"required":true},"responses":{"200":{"description":"One-call gas sponsorship of a session-key (delegate) trade: the same actions as POST /sponsor, built and signed by the browser, checked, co-signed and executed by the service in one request. Read GET /sponsor/submit/config first. Body: txBytesBase64 (base64 BCS TransactionData: the *_as_delegate kind built locally, sender = the session key, gas owner = config sponsor, no gas objects, gas price = config referenceGasPrice, gas budget at most the action's ceiling (maxGasBudgetMist per request-open, request-close or cancel call, oneStepMaxGasBudgetMist per emergency or retired close, N calls N times that, at most maxTxGasBudgetMist or the per-call ceiling when higher; use the ceiling, only the gas used is charged), expiration ValidDuring with minEpoch = maxEpoch = config epoch, no timestamps, chain = config chainId and any u32 nonce) and userSignature (base64 UserSignature of txBytesBase64 by the session key, from signTransaction); no other field. Returns digest, success (an on-chain abort is still an executed transaction), effectsBcsBase64 and orderIds (the order requests it created), as POST /sponsor/execute. Posting the same bytes again never sponsors twice: it answers the same result, executes the pending transaction again, or answers 409 already_submitted / 410 expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsorExecuted"}}}},"400":{"description":"Nothing was signed or sent. bad_request (not a JSON object, missing or non-string txBytesBase64 or userSignature, or any other field), bad_tx_bytes (txBytesBase64 is not non-empty standard base64 after trimming, or not TransactionData), bad_gas_payment (gas owner not the sponsor, gas objects, a zero budget, or a price other than referenceGasPrice), bad_expiration (not ValidDuring one epoch without timestamps, another chain, or a future epoch), gas_budget_exceeded (budget over the action's ceiling, or the trade needs more gas than sponsored: pay with the wallet), gas_budget_too_low (budget under the simulated gas with 1.5x headroom: build again at the ceiling), the POST /sponsor kind codes (not_programmable, sender_is_sponsor, too_many_commands, too_many_inputs, disallowed_package, disallowed_function, disallowed_type_argument, disallowed_command, disallowed_transfer, gas_coin_used, sponsor_withdrawal, unsupported_input, price_not_allowed, no_trade, mixed_trades, too_many_trades, mixed_accounts), bad_account, paused, simulation_failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"bad_session_signature: userSignature is not the sender's signature of txBytesBase64. Sign again with the session key; never fall back to the wallet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"403":{"description":"not_delegate: the sender is not a live delegate of the account (never granted, expired or revoked). Forget the session key and use the wallet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"already_submitted: these bytes were already submitted and have landed; look the digest up instead of building again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"410":{"description":"expired: the transaction's epoch has ended, or the network refused it before execution; read GET /sponsor/submit/config again and build it again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large: request body over 64 KiB","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Sponsor-ledger limits, as on POST /sponsor (per Parchment account, sent with Retry-After: 60): in_flight_limit, account_rate_limited, account_failure_limit, account_spend_limit. Nothing was signed or sent.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"execute_failed: the fullnode refused or failed the transaction after the sponsor signed it; post the same bytes again or look the digest up. Or bad gateway: the service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"sponsor_unavailable: one-call sponsorship is off, or sponsorship is unavailable as on POST /sponsor (disabled, balance, daily cap, signer, node or database down); or the service's generic overloaded. Sent with Retry-After: 1. Pay your own gas rather than polling.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"execute_timeout: the fullnode did not answer in time and the transaction may still land, or gateway timeout: the service did not answer in time. Post the same bytes again: it is never sponsored twice.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/submit/config":{"get":{"tags":["transactions"],"summary":"One-call sponsorship terms","operationId":"submit_config","responses":{"200":{"description":"What the browser needs to build a POST /sponsor/submit transaction: enabled (whether one-call sponsorship is on; false also when the chain could not be read), sponsor (the gas owner, 0x address), chainId (the ValidDuring chain, base58), epoch (the only epoch a submit may be valid in) and referenceGasPrice (the gas price it must carry), maxGasBudgetMist (budget ceiling per request-open, request-close or cancel call), oneStepMaxGasBudgetMist (per emergency or retired close), maxTxGasBudgetMist (a transaction of N calls may budget N times its per-call ceiling, at most this or the per-call ceiling when higher), maxRetiredClosesPerTx and sponsoredActions. Only enabled says whether to submit: sponsor is null only when sponsorship is not configured, and chainId, epoch and referenceGasPrice are null when submit is off. epoch and referenceGasPrice are at most 10 s old: read the config again after 410 expired. Integers are n-suffixed decimal strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsorSubmitConfig"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"overloaded: the service is busy. Sent with Retry-After: 1.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/withdraw/build":{"post":{"tags":["transactions"],"summary":"Sponsor a withdrawal","operationId":"sponsored_withdraw_build","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SponsoredFlowBuildRequest"}}},"required":true},"responses":{"200":{"description":"Gas sponsorship of a withdrawal from the wallet's own account: the sponsor pays gas, and feeUsdc of /sponsor/withdraw/config comes out of the withdrawn USDC. Body: sender (the wallet, 0x address) and txKindBase64 (base64 TransactionKind bytes, built with onlyTransactionKind); no other field. The PTB calls exchange::withdraw<USDC> from the sender's own account, splits feeUsdc from the withdrawn coin (SplitCoins) and sends it to feeRecipient with 0x2::coin::send_funds, and delivers the rest to the sender by TransferObjects (as the regular withdraw does) or send_funds; no redeem_funds. The sender receives the withdrawn amount minus the fee. Returns txBytesBase64 (full TransactionData with the sponsor as gas owner), digest, feeUsdc and expiresAtMs. The wallet signs txBytesBase64 unchanged and posts it with the signature to /sponsor/withdraw/execute before expiresAtMs, then polls GET /sponsor/withdraw/{digest}.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsoredFlowBuilt"}}}},"400":{"description":"Invalid body (bad_request: not a JSON object, missing or non-string sender or txKindBase64, sender not an address, or any other field; bad_tx_kind: txKindBase64 is not non-empty standard base64 after trimming), or a transaction the service will not sponsor: shape_refused (not this flow's transaction as described), fee_short (the fee is missing, too small or not sent to feeRecipient), deposit_below_min (setup and deposit: the deposit is under minDepositUsdc), bad_account (deposit and withdraw: not the sender's own account), paused, simulation_failed (the transaction would fail; nothing was sent).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"account_exists (setup: the wallet already has an account; it pays its own gas), in_flight (a sponsored transaction of this wallet, in any flow, is still in flight; poll its status first). Build records nothing per wallet: in_flight here is a read-only pre-check, enforced at execute.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large: request body over 64 KiB","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"cap_reached: the sponsored transaction limit (rate or failures) is reached, sent with Retry-After: 60. Retry later, or pay your own gas. A read-only pre-check here; enforced at execute.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"sponsor_unavailable: sponsorship disabled or the sponsor is unavailable; or the service's generic overloaded. Sent with Retry-After: 1.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/withdraw/config":{"get":{"tags":["transactions"],"summary":"Sponsored flow terms","operationId":"sponsored_withdraw_config","responses":{"200":{"description":"The flow's terms: enabled (whether the flow is sponsored now), feeUsdc (the flat fee, USDC base units, the transaction sends to feeRecipient), minDepositUsdc (the smallest deposit, USDC base units; null for withdraw), feeRecipient and sponsor (the gas owner) as 0x addresses (null when sponsorship is not configured), and maxGasMist (the most gas the sponsor pays for one transaction). Read it before building the transaction kind; amounts are n-suffixed decimal strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsoredFlowConfig"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"sponsor_unavailable: sponsorship is unavailable; or the service's generic overloaded. Sent with Retry-After: 1.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/withdraw/execute":{"post":{"tags":["transactions"],"summary":"Execute a sponsored flow transaction","operationId":"sponsored_withdraw_execute","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SponsoredFlowExecuteRequest"}}},"required":true},"responses":{"200":{"description":"The transaction was sent: its digest. Body: txBytesBase64 (exactly as the flow's build returned it) and userSignature (the wallet's base64 UserSignature of it); no other field. The service keeps no built transactions: it judges the posted bytes on their own (shape, gas owner, price and budget, epoch, the signature, a fresh simulation), then applies the per-wallet limits (in_flight, cap_reached) once the signature is verified. Posting the same bytes again after they were submitted answers 200 with the same digest and submits nothing new. Poll the flow's GET status route with the digest for the result. Every 4xx means nothing was submitted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsoredFlowExecuted"}}}},"400":{"description":"Nothing was submitted. bad_request (not a JSON object, missing or non-string txBytesBase64 or userSignature, txBytesBase64 not non-empty standard base64 after trimming, or any other field), bad_signature (userSignature is not the sender's signature of txBytesBase64), or the build's refusals rechecked: shape_refused, fee_short, deposit_below_min, bad_account, paused, simulation_failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"account_exists, in_flight (a sponsored transaction of this wallet, in any flow, is still in flight); nothing was submitted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"410":{"description":"expired: the bytes' epoch has ended; nothing was submitted, build it again","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large: request body over 64 KiB","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"cap_reached: the sponsored transaction limit (rate or failures) is reached, sent with Retry-After: 60; nothing was submitted","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"execute_failed: the network refused or did not confirm the transaction; or bad gateway: the service is temporarily unavailable. Check the flow's GET status route before building again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"sponsor_unavailable: the sponsor is unavailable; or the service's generic overloaded. Sent with Retry-After: 1. Nothing was submitted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time. Check the flow's GET status route before building again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/sponsor/withdraw/{digest}":{"get":{"tags":["transactions"],"summary":"Sponsored flow transaction status","operationId":"sponsored_withdraw_status","parameters":[{"name":"digest","in":"path","description":"The base58 transaction digest of the flow's build","required":true,"schema":{"type":"string","examples":["cgQt9nJzVJejFdAFSrw36bZHABJGw7sEWRF8Vd43uZnz"]}}],"responses":{"200":{"description":"status: pending (submitted by execute, not final yet; a digest never submitted is 404 digest_unknown), success or failure (with error, why it failed). error is present only on failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_SponsoredFlowStatus"}}}},"400":{"description":"bad_request: digest is not a non-empty base58 string","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"digest_unknown: no sponsored transaction of this flow with this digest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/staking":{"get":{"tags":["staking"],"summary":"Staking pool","operationId":"pool","responses":{"200":{"description":"Staking pool view. The service's typed response, as public camelCase JSON.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Option_StakingPool"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/staking/{owner}":{"get":{"tags":["staking"],"summary":"Staker","operationId":"staker","parameters":[{"name":"owner","in":"path","description":"Wallet address","required":true,"schema":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^(0[xX])?[0-9a-fA-F]{1,64}$"}}],"responses":{"200":{"description":"One staker's stake and claimable rewards (claim them with the claim transaction). Claims are never blocked by pool coverage; only an admin/guardian emergency pause can halt them. The service's typed response, as public camelCase JSON.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Staker"}}}},"400":{"description":"Invalid address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/stats/activity":{"get":{"tags":["stats"],"summary":"Daily activity","operationId":"activity","parameters":[{"name":"days","in":"query","description":"Days of history, today included: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted. The service defaults to 90 and serves up to 366 days as asked; any larger value (e.g. 36500 for an all-time view) means since launch: fromDay is the first day with indexed stats and toDay is today, capped at 1098 days (one row when nothing is indexed yet).","required":false,"schema":{"type":"string","examples":["30"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"Daily trading activity, indexed from on-chain events: per market and UTC day the volume (notional opened plus notional closed or liquidated, at the positions' open notional, the markets/stats volume24h definition), the liquidated notional and count and the two-step order fills; and the USDC deposited into and withdrawn from trading accounts per day. Each series carries allTime, its since-launch total, so a client can draw the all-time running total under any window (allTime less the days after each day). Every series runs fromDay to toDay, one row per day, zeros on a quiet day. Days are UTC day numbers (ms / 86400000); USDC amounts are base units (6 decimals). Every integer is an n-suffixed decimal string. complete is false while the service is still folding history indexed before these stats existed. 404 from a service revision that does not serve it yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_StatsActivity"}}}},"400":{"description":"days is not a canonical positive integer up to 18446744073709551615 (bad_request)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"the service revision does not serve the daily activity yet (its 404 envelope, forwarded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/stats/monitoring":{"get":{"tags":["stats"],"summary":"Protocol monitoring","operationId":"monitoring","parameters":[{"name":"days","in":"query","description":"Days of history, today included: canonical decimal (digits only, no sign, whitespace or leading zero), 1 to 18446744073709551615, else 400 bad_request; an empty value is omitted. The service defaults to 90 and serves up to 366 days as asked; any larger value (e.g. 36500 for an all-time view) means since launch: fromDay is the first day with indexed stats and toDay is today, capped at 1098 days (one row when nothing is indexed yet).","required":false,"schema":{"type":"string","examples":["30"],"pattern":"^(0|[1-9][0-9]*)$"}}],"responses":{"200":{"description":"Protocol monitoring, indexed from on-chain events and objects: the daily loss-mint cap (finalized epochs: room, carry, gross provisional mints, scale, excess; per day: minted vs flagged losses, flagged meaning the contract's wash or self-liquidation flag), the payout queue (entries, net owed, oldest entry, end-of-day history with the oldest unpaid claim age; the loss-side fee (2% at launch) is carved whether or not the queue is empty), per-market side exposure against the OI and exposure caps and the payout-floor depth capacity, and the fee split (retained fees, sweeps, staker deposits, withdrawals, vest penalties and forfeits; daily and since launch; coverage and staker share now; staker deposits stream to stakers in full, with no referral reserve carved from them). Fill timing per market, per day and over the window, over two-step fills: priceAge is the fill Clock less the storage price timestamp (count, p50, p95, max); lazerToStorage is the storage price timestamp less the signed Lazer update's, and requestToLazer the signed Lazer update timestamp less the order's request time, both signed ms (count, missing, p50, p95, min, max). The Lazer timestamp is the one the fill transaction submitted; missing counts fills without it (history indexed before it was recorded, an update that did not decode) or, for requestToLazer, whose request is not indexed. Short holds: settled under thresholdMs = 60000 from open (positions, distinct wallets as the accounts' on-chain owners, realized profit and loss per day, per market and over the window). Days are UTC day numbers (ms / 86400000). Every integer is an n-suffixed decimal string, signed gaps included (\"-80n\"). complete is false while the service is still folding history indexed before these stats existed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_Monitoring"}}}},"400":{"description":"days is not a canonical positive integer up to 18446744073709551615 (bad_request)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/stats/staking-history":{"get":{"tags":["staking"],"summary":"Staking APR history","operationId":"staking_history","parameters":[{"name":"days","in":"query","description":"Required. `7`, `30`, `90` or `all`; anything else (missing or empty included) is 400 bad_request.","required":true,"schema":{"type":"string","enum":["7","30","90","all"]}}],"responses":{"200":{"description":"Staking APR/APY history for days=7|30|90|all, from the service's staking pool snapshots and its cached PARCHMENT/USD DEX quote (USDC is $1). A 7/30/90 window is partial when no snapshot is at or before its start or its observed span is empty; annualized is true only when a partial window produced an APR. days=all uses the whole series (windowMs null). points are the snapshots oldest first (every 15 minutes); when the indexer is current the last point is live, projected to the request time like GET /staking's streamVestedNow and never stored, and its tsMs equals toMs (the rates then run to it), so a reward deposit shows before the next snapshot. aprWad/apyWad are x 1e18 and null without a stake, a span or a quote to value PARCHMENT. Every integer is an n-suffixed decimal string. The service's typed response, as public camelCase JSON.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_StakingHistory"}}}},"400":{"description":"days must be 7, 30, 90, or all (bad_request)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"the service revision does not serve the staking history yet (its 404 envelope, forwarded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/trades/stream":{"get":{"tags":["game"],"summary":"Live trade stream (SSE)","operationId":"trade_stream","parameters":[{"name":"after","in":"query","description":"Resume after this trade id (plain decimal): every later trade, oldest first, however far back. Last-Event-ID takes precedence","required":false,"schema":{"type":"string","examples":["884213"]}},{"name":"Last-Event-ID","in":"header","description":"Resume trade id sent by EventSource on reconnect; takes precedence over after","required":false,"schema":{"type":["string","null"],"examples":["884213"]}}],"responses":{"200":{"description":"Server-Sent Events: every trader's opens, closes and liquidations as the service indexes them. A `retry: 1000` hint first. event trade: { id, action, marketId, symbol, side, owner, positionId, notional, margin, pnl, timestampMs } (n-suffixed decimal strings, USDC base units; action is open, close or liquidate; side is long, short or null; pnl is realized PnL, null on opens); id increases with every trade and is also the event's SSE id. Resuming (Last-Event-ID takes precedence over after) sends every trade past it, however far back, oldest first; a new client first gets the last 30 trades, oldest first. A cursor past the newest trade (another database) cannot be resumed: event reset {} comes first, with an empty SSE id, then the last 30 trades; drop the trades held. After the initial replay, event backfill-end: { lastId: string | null } gives the plain decimal id of the last trade sent on this connection, or null if none; it has no SSE id and does not change the resume cursor. event heartbeat: { timestampMs } every 10 s. The stream closes after about an hour (54 to 60 minutes), after 30 s of downstream backpressure, or on client disconnect; EventSource reconnects using the retry hint. Cache-Control: no-cache; X-Accel-Buffering: no.","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"after or Last-Event-ID is not a trade id (bad_request)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"overloaded (the process has 2048 trade streams open) or stream_unavailable; Retry-After: 1","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/transactions/{action}":{"post":{"tags":["transactions"],"summary":"Build a transaction","operationId":"transaction","parameters":[{"name":"action","in":"path","description":"open-account, transfer-account, deposit, withdraw, request-open, request-open-as-delegate, request-close, request-close-as-delegate, cancel-order, cancel-order-as-delegate, expire-order, emergency-close, emergency-close-as-delegate, close-retired, close-retired-as-delegate, sweep-surplus, claim-pending-mint, harvest, bind-referrer, bind-trading-referrer, register-builder, create-builder, set-builder-fee, set-builder-create-fee, pause-builder, resume-builder, transfer-builder, approve-builder, revoke-builder-approval, set-builder-payout, stake, unstake, claim, claim-daily, open-crate, open-crates, claim-quest, collect-mint, release-unlocked, exit-early, exit-early-bounded, install-treasury, auth-register, game-attach, grant-delegate, revoke-delegate, grant-close-delegate, grant-session-and-trigger, or revoke-session-and-trigger. The keeper-only award-achievement, complete-quest, grant-season-reward, liquidate, liquidate-retired, and sweep are refused with 403 keeper_only","required":true,"schema":{"type":"string","enum":["open-account","transfer-account","deposit","withdraw","request-open","request-open-as-delegate","request-close","request-close-as-delegate","cancel-order","cancel-order-as-delegate","expire-order","emergency-close","emergency-close-as-delegate","close-retired","close-retired-as-delegate","sweep-surplus","claim-pending-mint","harvest","bind-referrer","bind-trading-referrer","register-builder","set-builder-payout","create-builder","set-builder-fee","set-builder-create-fee","pause-builder","resume-builder","transfer-builder","approve-builder","revoke-builder-approval","stake","unstake","claim","claim-daily","open-crate","open-crates","claim-quest","collect-mint","release-unlocked","exit-early","exit-early-bounded","install-treasury","auth-register","game-attach","grant-delegate","revoke-delegate","grant-close-delegate","grant-session-and-trigger","revoke-session-and-trigger"]}}],"requestBody":{"description":"The action's typed input: the PublicTxInput branch titled with the path's action, camelCase, every integer an n-suffixed decimal string (\"5000000n\").","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicTxInput"}}},"required":true},"responses":{"200":{"description":"Transaction-kind bytes (txBytesBase64) and the Move calls they make. claim-daily, claim-quest and open-crate grant XP/cosmetics only and return no coin. collect-mint issues the pending fee-backed achievement reward into the owner's locked ledger (a 7-day lock, then a 30-day linear vest); nothing is spendable at collection. release-unlocked (sender, optional who, default the sender; anyone may send it) pays the vested part to the ledger's owner, never to the caller. exit-early (sender only) pays the vested part in full and the unvested remainder less a penalty that falls linearly from 50% at the end of the lock to 0% at the end of the vest (forfeits go to stakers). exit-early-bounded (sender, unlocks, maxPenalty) exits exactly the quoted ledger entries (the game profile's earlyExitUnlocks) and aborts on chain (locked_mint::EPenaltyAboveMax, 5) if it would forfeit more than maxPenalty (pass earlyExitPenaltyNow); neither exit is sponsored. request-open* and request-close* carry the two-step order note. emergency-close* and close-retired* push the signed Lazer update into the market's price storage first and quote with the same update; expire-order quotes without the push. The trading pause, the close pause and a market's opensPaused/closesPaused stop opens; other category pauses stop only their category, and pause-all sets every category. No pause stops an exit: request-close*, emergency-close* and close-retired* run under every pause, and only the market's oracle kill switch stops them (request-close* aborts order::ERequestsPaused, 15; the others abort trade::EOracleKilled, 20); the bytes are still returned. liquidate, liquidate-retired and sweep are 403 keeper_only. Cancel, expire, session arm and force_close_session always run; harvest is blocked. A pending fill under the trading or close pause refunds with outcome 5 (paused), under the kill switch with outcome 6 (killed); both refund the exec fee. sponsor and an incoming txKind are rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_BuiltTx"}}}},"400":{"description":"Invalid body, unknown action, or a transaction error from the service. Integer fields are n-suffixed decimal strings (\"5000000n\": the decimal digits and a trailing n; no padding, sign or leading zero), isLong is a JSON boolean and other fields are JSON strings; any other JSON type is bad_request (nothing is coerced), and a plain decimal string (\"100\") is the field's code (bad_amount, bad_price_bound, bad_fee, bad_quest) or bad_request. A missing or ill-typed field is bad_request naming the camelCase field. Extra fields are ignored, except on the three trigger grant/revoke actions, which refuse them. set-builder-create-fee: amount outside 0n..100000000n is bad_amount. open-crates: count missing is count_required, outside 1n..500n bad_count. claim-quest: questId missing is quest_required, outside 0n..255n bad_quest. harvest: maxEntries is 1 through 128 on harvest (\"1n\" to \"128n\"), else bad_amount. install-treasury: a missing treasuryCap { objectId, version, digest } is treasury_cap_required. transfer-account: a zero recipient is zero_recipient, the sender self_transfer; recipient_has_account comes from the service. bind-trading-referrer / bind-referrer: a zero referrer is zero_referrer. A builderCode or code containing NUL is bad_code. The trigger grants refuse delegate, triggerDelegate and trigger_delegate and use the service's close delegate (triggers_unavailable without one). Two-step requests take acceptablePriceWad (advisory, never enforced on chain; request-open rejects \"0n\"; an empty close bound is bad_price_bound); acceptableEntryWad and acceptableExitWad are rejected. topUp ({ objectId, version, digest }) is owner-only; the legacy coin field is rejected. emergency-close* takes orderId and optional updateBase64 and rejects any price bound: a two-step acceptablePriceWad is stored and emitted only; two-step fills and emergency close take no price bound. Admin-only builder actions are unknown_action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"403":{"description":"keeper_only: award-achievement, complete-quest, grant-season-reward, liquidate, liquidate-retired, and sweep are refused locally without returning transaction bytes (liquidate, liquidate_retired and sweep abort EKeeperOnlyLiquidation for any sender that is not an order keeper)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large: the body is over 64 KiB (65536 bytes) as sent or after address normalization","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/triggers":{"post":{"tags":["accounts"],"summary":"Set or clear TP/SL","operationId":"set_or_cancel","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTriggersRequest"}}},"required":true},"responses":{"200":{"description":"Set or clear both legs with a newer owner-signed proof. Target: positionId OR openTxDigest+marketId+isLong; explicit null for unused fields is absent. Open intents that set a leg carry openTxBytesBase64 (padded standard base64 BCS Transaction with finite maximum epoch) for digest/expiry verification; an open clear (both legs null) may omit it, and a position target refuses it. Each leg closes the whole position. Both null legs clear, including while paused. Integers are n-suffixed decimal strings; the signed seven-line message uses plain decimals. Responses omit open digests and signature material.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_TriggerView"}}}},"400":{"description":"bad_request (including malformed integers), bad_signature, proof_expiry, not_owner, trigger_not_enabled, bad_price, past_liquidation, bad_trigger_order, trigger_already_crossed, position_closed, order_not_filled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"position_not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"trigger_in_flight, proof_stale, order_filled, trigger_mismatch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large (64 KiB limit before and after normalization)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"415":{"description":"unsupported_encoding (compressed bodies)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"too_many_pending (the account's on-chain pending-order cap of orders waiting with TP/SL) or too_many_pending_intents (the wallet's 256 orders waiting with TP/SL); retry after backoff","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"triggers_unavailable, price_unavailable, signature_unverified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/triggers/bind":{"post":{"tags":["accounts"],"summary":"Bind prepared TP/SL to an open","operationId":"bind","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BindTriggersRequest"}}},"required":true},"responses":{"200":{"description":"Binds a prepared intent to its signed open transaction, whose sender signed it: the legs become that open's intent (attached at once if the open already filled). One intent binds one transaction; a repeat with the same one answers the same. Integers in the trigger row are n-suffixed decimal strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_TriggerView"}}}},"400":{"description":"bad_request, bad_signature, bind_unverified (a multisig, passkey or zkLogin sender: save with POST /triggers instead), proof_expired, not_owner (including a delegate whose delegation lapsed since prepare), trigger_not_enabled, trigger_already_crossed (the price moved past a level since prepare)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"intent_not_found, market_not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"intent_bound, order_filled, ambiguous_open","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large (64 KiB limit)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"too_many_pending or too_many_pending_intents","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"triggers_unavailable, price_unavailable, signature_unverified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/triggers/prepare":{"post":{"tags":["accounts"],"summary":"Prepare TP/SL for a pending open","operationId":"prepare","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepareTriggersRequest"}}},"required":true},"responses":{"200":{"description":"TP/SL for an open that is still being built, checked like an open intent and stored under the intent id until a signed open is bound to it (POST /triggers/bind) or the proof expires. Arms nothing by itself. Decimals are plain strings, as signed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Data_PreparedIntent"}}}},"400":{"description":"bad_request, bad_signature, proof_expired, proof_expiry, not_owner, trigger_not_enabled, bad_price, bad_trigger_order, trigger_already_crossed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"market_not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"intent_exists (the id was used for another proof)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"413":{"description":"payload_too_large (64 KiB limit)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"too_many_pending, too_many_pending_intents or too_many_requests","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Bad gateway: the service is temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"triggers_unavailable, price_unavailable, signature_unverified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"504":{"description":"Gateway timeout: the service did not answer in time","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}}},"components":{"schemas":{"Account":{"type":"object","description":"A trading account of a wallet.","required":["accountId","owner","free","openNotional","pendingMintBasis","pendingMint","delegates","delegatesCount","pendingOrders","pendingOpenOrders"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"closeDelegates":{"type":["array","null"],"items":{"type":"string"}},"delegates":{"type":"array","items":{"$ref":"#/components/schemas/Delegate"},"description":"The first delegates by address, at most the page limit."},"delegatesCount":{"type":"string","description":"Every delegate of the account.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"exchangeId":{"type":["string","null"],"examples":["0x2e53756af142bc2768c9bae0d2acae16558e68ab11dc71987dbfc96e4dd40819"],"pattern":"^0x[0-9a-f]{64}$"},"free":{"type":"string","description":"Free collateral (base units).","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"nonce":{"type":["string","null"],"examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"openNotional":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"opener":{"type":["string","null"],"description":"Immutable address used to derive this account, even after transfer.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"owner":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"pendingMint":{"type":"string","description":"Upper-bound estimate of the PARCHMENT raw units the basis mints at the current H (the\nremaining-supply clamp is not applied).","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pendingMintBasis":{"type":"string","description":"USDC fee basis claimable with the `claim-pending-mint` tx.","examples":["42500000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pendingOpenOrders":{"type":"string","description":"Pending opens only, the ones capped by the config's `max_pending_orders`.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pendingOrders":{"type":"string","description":"Pending requests (opens and closes).","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"AccountCapInput":{"type":"object","description":"The caller's `AccountCap` (owner-gated actions), flattened into the input. The service uses\n`account_cap` as given; else `account_cap_id` with its version and digest as given; else it\nreads the cap (`account_cap_id`, or the account's own cap id) from chain. All null is valid.","properties":{"accountCap":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ObjectRef"}]},"accountCapDigest":{"type":["string","null"],"examples":["tZMWmVxmgKE5fSqHMPvJ9zveWPmQuY9CMs1DQqWYjvDX"]},"accountCapId":{"type":["string","null"],"examples":["0x98bce25a4e984b03c44bec8ad75ae206fcdf2def07c3e0280b404c17dd04bbe9"]},"accountCapVersion":{"type":["string","null"],"examples":["1n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}}},"AccountClaims":{"type":"object","description":"The queued claims of a wallet and what is ahead of its first one.","required":["claims","aheadCount","aheadNet"],"properties":{"aheadCount":{"type":"string","description":"Queued claims before the wallet's first one (the whole queue without one).","examples":["17n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"aheadNet":{"type":"string","description":"Net plus fee still owed on those claims (base units).","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"claims":{"type":"array","items":{"$ref":"#/components/schemas/Claim"}},"claimsNextCursor":{"type":["string","null"]}},"additionalProperties":false},"AccountInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","accountId"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}],"description":"Owner-gated actions on an account alone: `claim-pending-mint`, `claim-daily`, `open-crate`,\n`collect-mint`."},"AccountOverview":{"type":"object","description":"Accounts, open positions and queued claims of a wallet, each\npaged with its own cursor.","required":["nextAccountNonce","owner","accounts","positions","queue"],"properties":{"accounts":{"type":"array","items":{"$ref":"#/components/schemas/Account"}},"accountsNextCursor":{"type":["string","null"]},"nextAccountNonce":{"type":"string","examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"owner":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"positions":{"type":"array","items":{"$ref":"#/components/schemas/Position"}},"positionsNextCursor":{"type":["string","null"]},"queue":{"$ref":"#/components/schemas/AccountClaims"}},"additionalProperties":false},"AccountQueue":{"type":"object","description":"A wallet's place in the payout queue, with its disclosure fields.\n\nWins the LP cannot pay at once wait in the FIFO payout queue (there is no pool-equity OI cap).","required":["owner","hasClaim","net","claims","queueLength","totalOwed"],"properties":{"claims":{"type":"array","items":{"$ref":"#/components/schemas/QueueClaim"},"description":"The wallet's queued claims in FIFO order, at most 200."},"hasClaim":{"type":"boolean","description":"Whether the wallet has a queued claim."},"lpCash":{"type":["string","null"],"description":"The exchange's `lp_cash` (base units); null while the exchange is unindexed.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"net":{"type":"string","description":"Sum of the nets still owed to the wallet on its queued claims (base units).","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"owner":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"queueLength":{"type":"string","description":"Queued claims overall.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"rank":{"type":["string","null"],"description":"1-based FIFO place of the wallet's first queued claim; null without one.","examples":["17n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"totalOwed":{"type":"string","description":"The exchange's `total_owed` (base units; the sum of the queued nets until indexed).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"AchievementDef":{"type":"object","required":["key","name","category","description","stamp","xp","mint","target","onChain"],"properties":{"category":{"type":"string"},"chainId":{"type":["string","null"],"examples":["1n"],"pattern":"^(0|[1-9][0-9]*)n$"},"description":{"type":"string"},"key":{"type":"string"},"mint":{"type":"string","examples":["1500000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"name":{"type":"string"},"onChain":{"type":"boolean"},"stamp":{"type":"string"},"target":{"type":"string","examples":["3n"],"pattern":"^(0|[1-9][0-9]*)n$"},"xp":{"type":"string","examples":["1250n"],"pattern":"^(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"AchievementDefinition":{"type":"object","description":"One achievement.","required":["id","kind","param","xp","mintAmount","active"],"properties":{"active":{"type":"boolean"},"cosmetic":{"type":["string","null"],"examples":["4n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"id":{"type":"string","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"kind":{"type":"string","examples":["0n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"mintAmount":{"type":"string","description":"Game PARCHMENT accrued on unlock (base units).","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"name":{"type":["string","null"],"description":"null when the registration carried no UTF-8 name."},"param":{"type":"string","examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"xp":{"type":"string","examples":["1250n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"AchievementState":{"type":"object","required":["key","unlocked","progress","target"],"properties":{"key":{"type":"string"},"progress":{"type":"string","examples":["3n"],"pattern":"^(0|[1-9][0-9]*)n$"},"target":{"type":"string","examples":["3n"],"pattern":"^(0|[1-9][0-9]*)n$"},"unlocked":{"type":"boolean"},"unlockedAtMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"Activity":{"oneOf":[{"type":"object","required":["payload","kind"],"properties":{"kind":{"type":"string","enum":["deposit"]},"payload":{"$ref":"#/components/schemas/AmountPayload"}}},{"type":"object","required":["payload","kind"],"properties":{"kind":{"type":"string","enum":["withdraw"]},"payload":{"$ref":"#/components/schemas/AmountPayload"}}},{"type":"object","required":["payload","kind"],"properties":{"kind":{"type":"string","enum":["open"]},"payload":{"$ref":"#/components/schemas/OpenPayload"}}},{"type":"object","required":["payload","kind"],"properties":{"kind":{"type":"string","enum":["close"]},"payload":{"$ref":"#/components/schemas/ClosePayload"}}},{"type":"object","required":["payload","kind"],"properties":{"kind":{"type":"string","enum":["liquidate"]},"payload":{"$ref":"#/components/schemas/LiquidatePayload"}}}],"description":"What an activity row records: `kind` and its event `payload`."},"AdminInput":{"allOf":[{"$ref":"#/components/schemas/AuthorityCapInput"},{"type":"object","required":["sender"],"properties":{"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}],"description":"`auth-register`, `game-attach` (admin, once per exchange)."},"AmountPayload":{"type":"object","description":"`amount` of a deposit or withdrawal.","required":["amount"],"properties":{"amount":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"ApproveBuilderInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","accountId","builderId","maxFeeBps"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"builderId":{"type":"string","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxFeeBps":{"type":"string","description":"Basis points (1/10000).","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}]},"AsReferrer":{"type":"object","description":"The address's referees and estimated bonuses.","required":["direct","directCount","secondLevel","secondLevelCount","refereeClaimVolume","estimatedDirectBonus","estimatedSecondBonus"],"properties":{"direct":{"type":"array","items":{"$ref":"#/components/schemas/DirectReferee"}},"directCount":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"directNextCursor":{"type":["string","null"],"description":"Opaque page token for `direct_cursor`; null on the last page."},"estimatedDirectBonus":{"type":"string","description":"10% of the direct referees' claims.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"estimatedSecondBonus":{"type":"string","description":"1% of the second-level referees' claims.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"refereeClaimVolume":{"type":"string","description":"Sum of the referees' claims since they were bound (base units).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"secondLevel":{"type":"array","items":{"$ref":"#/components/schemas/SecondLevelReferee"}},"secondLevelCount":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"secondLevelNextCursor":{"type":["string","null"],"description":"Opaque page token for `second_level_cursor`; null on the last page."}},"additionalProperties":false},"Attribution":{"type":"string","description":"Who sent a position's open.","enum":["owner","delegate","unindexed_account"]},"AuthorityCapInput":{"type":"object","description":"The caller's owned `AuthorityCap` (admin and keeper actions), flattened into the input.\nWithout version and digest the service reads them (from chain, else its objects table).","required":["authorityCapId"],"properties":{"authorityCapDigest":{"type":["string","null"],"examples":["i5YQGtbZXgJ37PGV7p2t8PHxWmkx15Mv4W6BtHHGyLKt"]},"authorityCapId":{"type":"string","examples":["0xe2089caee43c9bb99782695ad203227a31819410f82ea9ba3bded111bbec222d"]},"authorityCapVersion":{"type":["string","null"],"examples":["1n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}}},"BindReferrerInput":{"type":"object","description":"`bind-referrer` (staking).","required":["sender","referrer"],"properties":{"referrer":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"BindTradingReferrerInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","referrer","accountId"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"referrer":{"type":"string","description":"Neither zero nor the sender.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}],"description":"`bind-trading-referrer`."},"BindTriggersRequest":{"type":"object","description":"`POST /api/parchment/triggers/bind` body.","required":["owner","accountId","intentId","openTxBytesBase64","signatures"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"intentId":{"type":"string","examples":["d54daa1bcef482122fedd0b7c675ff7c"]},"openTxBytesBase64":{"type":"string","description":"The signed open `Transaction`, BCS, padded standard base64."},"owner":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"signatures":{"type":"array","items":{"type":"string"},"description":"Its base64 Sui signatures; the sender's (owner or the delegate that signed the prepare) must be one."}}},"BookKind":{"type":"string","description":"The order book kind; the book is built from the storage price.","enum":["synthetic"]},"BookLevel":{"type":"object","description":"One synthetic level; size is unknown rather than an available-liquidity estimate.","required":["priceWad"],"properties":{"priceWad":{"type":"string","description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"size":{"type":["string","null"],"description":"Size available at the level; always null (the book is one synthetic level at the mid).","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"BuildTxRequest":{"oneOf":[{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["open-account"]},"input":{"$ref":"#/components/schemas/SenderInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["deposit"]},"input":{"$ref":"#/components/schemas/DepositInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["withdraw"]},"input":{"$ref":"#/components/schemas/WithdrawInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["request-open"]},"input":{"$ref":"#/components/schemas/RequestOpenInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["request-open-as-delegate"]},"input":{"$ref":"#/components/schemas/RequestOpenAsDelegateInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["request-close"]},"input":{"$ref":"#/components/schemas/RequestCloseInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["request-close-as-delegate"]},"input":{"$ref":"#/components/schemas/RequestCloseAsDelegateInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["cancel-order"]},"input":{"$ref":"#/components/schemas/OrderInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["cancel-order-as-delegate"]},"input":{"$ref":"#/components/schemas/CancelOrderAsDelegateInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["expire-order"]},"input":{"$ref":"#/components/schemas/ExpireOrderInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["emergency-close"]},"input":{"$ref":"#/components/schemas/EmergencyCloseInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["emergency-close-as-delegate"]},"input":{"$ref":"#/components/schemas/EmergencyCloseAsDelegateInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["close-retired"]},"input":{"$ref":"#/components/schemas/CloseRetiredInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["close-retired-as-delegate"]},"input":{"$ref":"#/components/schemas/CloseRetiredAsDelegateInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["liquidate"]},"input":{"$ref":"#/components/schemas/LiquidateInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["liquidate-retired"]},"input":{"$ref":"#/components/schemas/LiquidateInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["sweep"]},"input":{"$ref":"#/components/schemas/SweepInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["sweep-surplus"]},"input":{"$ref":"#/components/schemas/ReserveCheckInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["claim-pending-mint"]},"input":{"$ref":"#/components/schemas/AccountInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["harvest"]},"input":{"$ref":"#/components/schemas/HarvestInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["register-builder"]},"input":{"$ref":"#/components/schemas/RegisterBuilderInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["create-builder"]},"input":{"$ref":"#/components/schemas/CreateBuilderInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["set-builder-fee"]},"input":{"$ref":"#/components/schemas/SetBuilderFeeInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["pause-builder"]},"input":{"$ref":"#/components/schemas/BuilderInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["resume-builder"]},"input":{"$ref":"#/components/schemas/BuilderInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["transfer-builder"]},"input":{"$ref":"#/components/schemas/TransferBuilderInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["approve-builder"]},"input":{"$ref":"#/components/schemas/ApproveBuilderInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["revoke-builder-approval"]},"input":{"$ref":"#/components/schemas/RevokeBuilderApprovalInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["set-builder-payout"]},"input":{"$ref":"#/components/schemas/SetBuilderPayoutInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["auth-register"]},"input":{"$ref":"#/components/schemas/AdminInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["game-attach"]},"input":{"$ref":"#/components/schemas/AdminInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["install-treasury"]},"input":{"$ref":"#/components/schemas/InstallTreasuryInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["claim-daily"]},"input":{"$ref":"#/components/schemas/AccountInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["open-crate"]},"input":{"$ref":"#/components/schemas/AccountInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["claim-quest"]},"input":{"$ref":"#/components/schemas/ClaimQuestInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["collect-mint"]},"input":{"$ref":"#/components/schemas/AccountInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["release-unlocked"]},"input":{"$ref":"#/components/schemas/ReleaseUnlockedInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["exit-early"]},"input":{"$ref":"#/components/schemas/SenderInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["award-achievement"]},"input":{"$ref":"#/components/schemas/KeeperIdInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["complete-quest"]},"input":{"$ref":"#/components/schemas/KeeperIdInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["grant-season-reward"]},"input":{"$ref":"#/components/schemas/GrantSeasonRewardInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["bind-trading-referrer"]},"input":{"$ref":"#/components/schemas/BindTradingReferrerInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["bind-referrer"]},"input":{"$ref":"#/components/schemas/BindReferrerInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["stake"]},"input":{"$ref":"#/components/schemas/StakeInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["unstake"]},"input":{"$ref":"#/components/schemas/UnstakeInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["claim"]},"input":{"$ref":"#/components/schemas/SenderInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["grant-delegate"]},"input":{"$ref":"#/components/schemas/GrantDelegateInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["grant-close-delegate"]},"input":{"$ref":"#/components/schemas/GrantCloseDelegateInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["grant-session-and-trigger"]},"input":{"$ref":"#/components/schemas/GrantSessionAndTriggerInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["revoke-session-and-trigger"]},"input":{"$ref":"#/components/schemas/RevokeSessionAndTriggerInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["revoke-delegate"]},"input":{"$ref":"#/components/schemas/RevokeDelegateInput"}}}],"description":"Transaction build body: the action (`action`, e.g. `request-open`) and its input (`input`)."},"Builder":{"type":"object","description":"A registered builder.","required":["id","status","selfServe","feeBps","revokeOpen","active","pending","totalEarned"],"properties":{"active":{"type":"boolean"},"code":{"type":["string","null"]},"feeBps":{"type":"string","description":"Basis points (1/10000).","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"id":{"type":"string","description":"Builder id.","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"owner":{"type":["string","null"],"examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"payout":{"type":["string","null"],"examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"pending":{"type":"string","description":"Builder cut parked for the payout address (base units).","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"revokeOpen":{"type":"boolean"},"selfServe":{"type":"boolean"},"status":{"$ref":"#/components/schemas/BuilderStatus"},"totalEarned":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"BuilderAllowance":{"type":"object","description":"A wallet's self-serve builder allowance, counted like `create_builder` on chain: `created`\nlive (not tombstoned) self-serve codes it registered, whoever owns them now (codes transferred\nto it do not count), `limit` and `remaining`.","required":["created","limit","remaining"],"properties":{"created":{"type":"string","examples":["2n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"limit":{"type":"string","examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"remaining":{"type":"string","examples":["1n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"BuilderApproval":{"type":"object","required":["accountId","builderId","maxFeeBps"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"builderId":{"type":"string","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxFeeBps":{"type":"string","description":"Basis points (1/10000).","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"BuilderConfig":{"type":"object","required":["enabled","ownerFeeLimitBps","maxFeeBps","hardCapBps","createFee"],"properties":{"createFee":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"enabled":{"type":"boolean"},"hardCapBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxFeeBps":{"type":"string","description":"Basis points (1/10000).","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"ownerFeeLimitBps":{"type":"string","description":"Highest fee (bps of profit) a builder owner may set self-serve (`self_serve_fee_cap_bps`);\nabove it is admin-only.","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"BuilderInput":{"type":"object","required":["sender","builderId"],"properties":{"builderId":{"type":"string","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"BuilderStatus":{"type":"string","enum":["active","paused","suspended","tombstoned"]},"BuiltTx":{"type":"object","description":"The unsigned transaction and the Move calls it makes.","required":["txBytesBase64","commands"],"properties":{"commands":{"type":"array","items":{"$ref":"#/components/schemas/MoveCallView"}},"note":{"type":["string","null"],"description":"Free-text guidance (e.g. how a two-step order is filled); null for most actions."},"txBytesBase64":{"type":"string","description":"The BCS `TransactionKind` (a programmable transaction), base64."}},"additionalProperties":false},"CancelOrderAsDelegateInput":{"type":"object","description":"`cancel-order-as-delegate`: `cancel-order` without the account cap.","required":["sender","accountId","orderId"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"orderId":{"type":"string","description":"The shared `OrderRequest<C>` object id.","examples":["0x8a79598616df8d6e8de46f0234cf3d4e468c05fa00ed82fb783ecc43823555d1"]},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"Candle":{"type":"object","description":"One candle: `timeMs` is its interval's start; the first,\nhighest, lowest and last price point of the interval.","required":["timeMs","openWad","highWad","lowWad","closeWad"],"properties":{"closeWad":{"type":"string","description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"highWad":{"type":"string","description":"Scaled by 1e18 (WAD).","examples":["74810000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lowWad":{"type":"string","description":"Scaled by 1e18 (WAD).","examples":["73620000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"openWad":{"type":"string","description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"timeMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"CandleSeries":{"oneOf":[{"type":"object","required":["marketId","candles"],"properties":{"candles":{"type":"array","items":{"$ref":"#/components/schemas/Candle"}},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"}}},{"type":"object","required":["marketId","error"],"properties":{"error":{"$ref":"#/components/schemas/ErrorObject"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"}}}],"description":"A market's candles as on `GET /markets/{id}/candles`, or the error that read answered."},"Candles":{"type":"object","description":"Oldest first; an interval without a price point has no candle.","required":["candles"],"properties":{"candles":{"type":"array","items":{"$ref":"#/components/schemas/Candle"}}},"additionalProperties":false},"CandlesBatch":{"type":"object","description":"One series per requested market, in request order.","required":["resolution","serverTimeMs","series"],"properties":{"resolution":{"type":"string","description":"The requested resolution.","enum":["1s","5s","15s","1m","5m","15m","1h","4h","1d"]},"series":{"type":"array","items":{"$ref":"#/components/schemas/CandleSeries"}},"serverTimeMs":{"type":"string","description":"When the answer was assembled, Unix milliseconds.","examples":["1767225600000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}}},"CardDrop":{"type":"object","required":["key","txDigest","eventSeq","timestampMs"],"properties":{"eventSeq":{"type":"string","examples":["88231n"],"pattern":"^(0|[1-9][0-9]*)n$"},"key":{"type":"string"},"timestampMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"txDigest":{"type":"string","examples":["c3CE1sYJ2ufo1E8wNhVahkJbu66F4tMxpTXLeW3o8QSA"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}},"additionalProperties":false},"Catalog":{"type":"object","required":["xpRulesVersion","maxLevel","giltMarkXp","badgeSlots","tiers","achievements","seasonAchievements","cosmetics"],"properties":{"achievements":{"type":"array","items":{"$ref":"#/components/schemas/AchievementDef"}},"badgeSlots":{"type":"string","examples":["3n"],"pattern":"^(0|[1-9][0-9]*)n$"},"cosmetics":{"type":"array","items":{"$ref":"#/components/schemas/CosmeticDef"}},"giltMarkXp":{"type":"string","examples":["1250n"],"pattern":"^(0|[1-9][0-9]*)n$"},"maxLevel":{"type":"string","examples":["4n"],"pattern":"^(0|[1-9][0-9]*)n$"},"seasonAchievements":{"type":"array","items":{"$ref":"#/components/schemas/SeasonAchievementDef"}},"tiers":{"type":"array","items":{"$ref":"#/components/schemas/TierDef"}},"xpRulesVersion":{"type":"string","examples":["1n"],"pattern":"^(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"ChainCounter":{"type":"object","description":"The latest value of one on-chain `game_book` counter kind.","required":["kind","value"],"properties":{"kind":{"type":"string","examples":["4n"],"pattern":"^(0|[1-9][0-9]*)n$"},"value":{"type":"string","description":"The counter's latest on-chain value.","examples":["100000000n"],"pattern":"^(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"ChainTriggerLevels":{"type":"object","description":"On-chain TP/SL levels of one open position or pending open request.","required":["accountId","source","sender","timestampMs","txDigest"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"positionId":{"type":["string","null"],"description":"The open position; null while the open request (`requestId`) is pending.","examples":["1042n"],"pattern":"^(0|[1-9][0-9]*)n$"},"requestId":{"type":["string","null"],"description":"The open request the levels were committed with (`source` `open`).","examples":["0xe4685be89af887adcea9b6bd3842cb9276e839bad0c361f0380ab288ae8a0b05"],"pattern":"^0x[0-9a-f]{64}$"},"revision":{"type":["string","null"],"description":"The edit's caller-supplied revision (`set` only; unchecked on chain, informational).","examples":["1n"],"pattern":"^(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"source":{"type":"string","description":"`open`: committed with the open request; `set`: an edit (`set_trigger_levels`)."},"stopLossWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["71500000000000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"takeProfitWad":{"type":["string","null"],"description":"WAD price.","examples":["78000000000000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"timestampMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"txDigest":{"type":"string","examples":["c3CE1sYJ2ufo1E8wNhVahkJbu66F4tMxpTXLeW3o8QSA"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}},"additionalProperties":false},"ChainTriggerLevelsView":{"type":"object","description":"`GET /accounts/{owner}/trigger-levels`.","required":["levels"],"properties":{"levels":{"type":"array","items":{"$ref":"#/components/schemas/ChainTriggerLevels"}}},"additionalProperties":false},"Claim":{"type":"object","description":"A payout claim.","required":["claimId","net","status","remaining"],"properties":{"accountId":{"type":["string","null"],"examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"claimId":{"type":"string","examples":["5531n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"enqueuedTx":{"type":["string","null"]},"feeRemaining":{"type":["string","null"],"description":"Protocol fee still queued with the claim, once its queue node is indexed.","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"harvestedTx":{"type":["string","null"]},"net":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"onTopRemaining":{"type":["string","null"],"description":"Builder on-top fee still queued with the claim.","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"owner":{"type":["string","null"],"examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"positionId":{"type":["string","null"],"description":"null until the close that queued it is indexed.","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"remaining":{"type":"string","description":"Net still owed (`net` until partly paid).","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"status":{"$ref":"#/components/schemas/ClaimStatus"},"timestampMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"ClaimQuestInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","accountId","questId"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"questId":{"type":"string","examples":["12n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}],"description":"`claim-quest`."},"ClaimStatus":{"type":"string","enum":["queued","harvested"]},"ClosePayload":{"type":"object","description":"A position closed, with its exit.","required":["positionId","accountId","gross","haircut","fee","net","queued","builderAmount"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"builderAmount":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"builderId":{"type":["string","null"],"examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"exitKind":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExitKind"}]},"exitWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fee":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"gross":{"type":"string","examples":["42500000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"haircut":{"type":"string","examples":["42500000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"net":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"queued":{"type":"boolean","description":"The win was queued for payout."}},"additionalProperties":false},"ClosePnl":{"type":"object","description":"Settlement of a close at the preview's exit (base units).","required":["loss","raw","trimmed","adjusted","winFee","builderFee","builderFeeBps","closeToll","net","closeTollFromProfit","closeTollFromMargin","userProfit","marginReturned","payout","payoutBeforeRefund","refereeRefund","feesCollectedNow","paidNow","queued","trimMaxShareBps","trimCPpm"],"properties":{"adjusted":{"type":"string","examples":["42500000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"builderFee":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"builderFeeBps":{"type":"string","description":"Basis points (1/10000).","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"closeToll":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"closeTollFromMargin":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"closeTollFromProfit":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"feesCollectedNow":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"loss":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marginReturned":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"net":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"paidNow":{"type":"boolean","description":"Paid at close (queue empty and LP cash covers it)."},"payout":{"type":"string","description":"`payout_before_refund + referee_refund`.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"payoutBeforeRefund":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"queued":{"type":"boolean","description":"The profit waits in the payout queue."},"raw":{"type":"string","examples":["42500000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"refereeRefund":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"trimCPpm":{"type":"string","description":"Parts per million.","examples":["1000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"trimMaxShareBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"trimmed":{"type":"string","description":"`raw - adjusted`: the profit trim.","examples":["42500000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"userProfit":{"type":"string","examples":["42500000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"winFee":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"CloseRetiredAsDelegateInput":{"type":"object","description":"`close-retired-as-delegate`: `close-retired` without the account cap.","required":["sender","marketId","accountId","positionId"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"updateBase64":{"type":["string","null"]}}},"CloseRetiredInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","marketId","accountId","positionId"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"updateBase64":{"type":["string","null"]}}}],"description":"`close-retired` (one-step, no price bound)."},"CollateralActivity":{"type":"object","required":["allTime","days"],"properties":{"allTime":{"$ref":"#/components/schemas/CollateralFlow"},"days":{"type":"array","items":{"$ref":"#/components/schemas/CollateralFlowDay"}}},"additionalProperties":false},"CollateralFlow":{"type":"object","description":"USDC into and out of trading accounts.","required":["deposits","depositCount","withdrawals","withdrawalCount"],"properties":{"depositCount":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"deposits":{"type":"string","description":"USDC deposited into trading accounts, base units (6 decimals).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"withdrawalCount":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"withdrawals":{"type":"string","description":"USDC withdrawn from trading accounts, base units (6 decimals).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"CollateralFlowDay":{"type":"object","description":"Collateral flow on one UTC day.","required":["day","deposits","depositCount","withdrawals","withdrawalCount"],"properties":{"day":{"type":"string","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"depositCount":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"deposits":{"type":"string","description":"USDC deposited into trading accounts, base units (6 decimals).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"withdrawalCount":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"withdrawals":{"type":"string","description":"USDC withdrawn from trading accounts, base units (6 decimals).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"Config":{"type":"object","description":"The public service configuration.","required":["packageIds","tradePackageIds","basePackageIds","gamePackageIds","mintPackageIds","oraclePackageIds","tokenPackageIds","usdcType","storageType","pins","graphqlUrl","gameRewards","maxPendingOrders","pauseMask","trim","builders","referralEnabled","refereeDiscountBps","referralSource"],"properties":{"basePackageId":{"type":["string","null"],"description":"Latest base package id (null until configured). Type tags use the first of\n`basePackageIds`.","examples":["0x63e4c0750101534f8ac9187e6e7b1fd2d1b4e364e141dc26e0ccb60f5176de9d"],"pattern":"^0x[0-9a-f]{64}$"},"basePackageIds":{"type":"array","items":{"type":"string","examples":["0x63e4c0750101534f8ac9187e6e7b1fd2d1b4e364e141dc26e0ccb60f5176de9d"],"pattern":"^0x[0-9a-f]{64}$"},"description":"Every `parchment_base` version, original first."},"builders":{"$ref":"#/components/schemas/BuilderConfig"},"configId":{"type":["string","null"],"examples":["0xd3130ac108d621be0d73cb8f130ea4dca14f52512c4d06bf48610067098e93e1"],"pattern":"^0x[0-9a-f]{64}$"},"exchangeId":{"type":["string","null"],"examples":["0x2e53756af142bc2768c9bae0d2acae16558e68ab11dc71987dbfc96e4dd40819"],"pattern":"^0x[0-9a-f]{64}$"},"gamePackageId":{"type":["string","null"],"description":"Latest `parchment_game` id; `game_events` and `game_book` types use the original id.","examples":["0x29a65f44f54483f8675b3b19a048e66a163977af77a7e545ddabc8d6b1a9ed71"],"pattern":"^0x[0-9a-f]{64}$"},"gamePackageIds":{"type":"array","items":{"type":"string","examples":["0x29a65f44f54483f8675b3b19a048e66a163977af77a7e545ddabc8d6b1a9ed71"],"pattern":"^0x[0-9a-f]{64}$"}},"gameRewards":{"$ref":"#/components/schemas/GameRewards"},"graphqlUrl":{"type":"string"},"lazerIntegrationPackageId":{"type":["string","null"],"description":"Pyth Lazer integration package (`price_feed_storage::update_price_feed`); null when the\nservice does not serve it.","examples":["0x370acfbcd8b0bf44ba5ececdfa922242607080f21e54518178760c6b1743c719"],"pattern":"^0x[0-9a-f]{64}$"},"maxPendingOrders":{"type":"string","description":"The per-account pending open order cap.\nThe service uses 64 until config is indexed; indexed admin values take precedence.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"mintPackageId":{"type":["string","null"],"description":"Latest `parchment_mint` id; `locked_mint` and `mint_cap` types use the original id.","examples":["0x9556fe18f66c066edbb2f504afc2c82a1edade7d81fcd9136e529dad565f2235"],"pattern":"^0x[0-9a-f]{64}$"},"mintPackageIds":{"type":"array","items":{"type":"string","examples":["0x9556fe18f66c066edbb2f504afc2c82a1edade7d81fcd9136e529dad565f2235"],"pattern":"^0x[0-9a-f]{64}$"}},"oraclePackageId":{"type":["string","null"],"examples":["0x267f963332073dc80eb7aba86e7e47a2200dea686684c98d4bc87822465f81a9"],"pattern":"^0x[0-9a-f]{64}$"},"oraclePackageIds":{"type":"array","items":{"type":"string","examples":["0x267f963332073dc80eb7aba86e7e47a2200dea686684c98d4bc87822465f81a9"],"pattern":"^0x[0-9a-f]{64}$"},"description":"Every `parchment_oracle` version, original first (empty when the service does not\nserve them)."},"packageId":{"type":["string","null"],"examples":["0x70fcdf24c8937202fe8fdc5b9fccfe62439ca58fdd2b7b0f077325a611261939"],"pattern":"^0x[0-9a-f]{64}$"},"packageIds":{"type":"array","items":{"type":"string","examples":["0x70fcdf24c8937202fe8fdc5b9fccfe62439ca58fdd2b7b0f077325a611261939"],"pattern":"^0x[0-9a-f]{64}$"}},"pauseMask":{"type":"string","description":"Pause flags bitmask, one bit per pause category.","examples":["0n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pins":{"type":"array","items":{"$ref":"#/components/schemas/ConfigPin"}},"proofTtlMs":{"type":["string","null"],"description":"Milliseconds.","examples":["60000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"randomId":{"type":["string","null"],"examples":["0x65068926e2b7ccdde582818e77fdc59297a7b3b4f2b8f3deb05373e411b69afd"],"pattern":"^0x[0-9a-f]{64}$"},"refereeDiscountBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"referralEnabled":{"type":"boolean"},"referralSource":{"$ref":"#/components/schemas/ConfigSource"},"registryId":{"type":["string","null"],"examples":["0x4399cf463f722e69fa1a3b4c2ef486425ad6cd388722813ab994d9548edd6205"],"pattern":"^0x[0-9a-f]{64}$"},"rewardCoinType":{"type":["string","null"],"examples":["0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC"]},"stakingPoolId":{"type":["string","null"],"examples":["0xd49df5e14280365fd33dc1673cf6725601f811af209fd316b4a152f704ddf409"],"pattern":"^0x[0-9a-f]{64}$"},"storageType":{"type":"string"},"tokenPackageId":{"type":["string","null"],"examples":["0xd97802de3066eae5235d901ceb5fad724675c3fb0cb921dee4f047a9b0815c5d"],"pattern":"^0x[0-9a-f]{64}$"},"tokenPackageIds":{"type":"array","items":{"type":"string","examples":["0xd97802de3066eae5235d901ceb5fad724675c3fb0cb921dee4f047a9b0815c5d"],"pattern":"^0x[0-9a-f]{64}$"},"description":"Every `parchment_token` version, original first (empty when the service does not serve\nthem)."},"tradePackageId":{"type":["string","null"],"examples":["0x101304235b64d3aed1b96eaffabf2768f7df54366ac9c6cb15d8934898c11ca9"],"pattern":"^0x[0-9a-f]{64}$"},"tradePackageIds":{"type":"array","items":{"type":"string","examples":["0x101304235b64d3aed1b96eaffabf2768f7df54366ac9c6cb15d8934898c11ca9"],"pattern":"^0x[0-9a-f]{64}$"}},"triggerDelegate":{"type":["string","null"],"examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"triggersLive":{"type":["boolean","null"]},"triggersPackageId":{"type":["string","null"],"description":"Latest `parchment_triggers` id (on-chain TP/SL commitment calls),\nomitted until deployed; from the service's split-packages route.","examples":["0xfd69a144c9ae4dc7a492a80dcec01f16a27aecb4cfc7580efb9bac24e77d65e9"],"pattern":"^0x[0-9a-f]{64}$"},"triggersPackageIds":{"type":"array","items":{"type":"string","examples":["0xfd69a144c9ae4dc7a492a80dcec01f16a27aecb4cfc7580efb9bac24e77d65e9"],"pattern":"^0x[0-9a-f]{64}$"}},"trim":{"$ref":"#/components/schemas/ConfigTrim"},"usdcType":{"type":"string","examples":["0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC"]}},"additionalProperties":false},"ConfigPin":{"type":"object","description":"A configured price pin.","required":["symbol","storageId","sourceId","lazerFeedId"],"properties":{"lazerFeedId":{"type":"string","examples":["1398n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sourceId":{"type":"string","examples":["2n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"storageId":{"type":"string","examples":["0x36d5377cee4c4a61087f999a9c137472ab8daa75ce225ec82d9e5f4ac1fb12bd"],"pattern":"^0x[0-9a-f]{64}$"},"symbol":{"type":"string","examples":["WTI"]}},"additionalProperties":false},"ConfigSource":{"type":"string","description":"Where a config value comes from.","enum":["indexed","default"]},"ConfigTrim":{"type":"object","description":"Live profit-trim knobs, global to every market.","required":["maxShareBps","cPpm","source"],"properties":{"cPpm":{"type":"string","description":"`trim_c_ppm`.","examples":["1000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxShareBps":{"type":"string","description":"`trim_max_share_bps`.","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"source":{"$ref":"#/components/schemas/ConfigSource","description":"`indexed` once both knobs are indexed."}},"additionalProperties":false},"CorporateActions":{"type":"object","description":"A market's upcoming and active scheduled-event pauses of new opens (dividends, earnings).","required":["marketId","events","pauseUntilMs","leverageCapUntilMs"],"properties":{"dailyBreak":{"type":["string","null"],"description":"Commodity markets: `force_close` or `pause_opens` (positions hold through the daily\n17:00-18:00 ET break; weekends, holidays and early halts force-close); null otherwise.","enum":["force_close","pause_opens",null]},"events":{"type":"array","items":{"$ref":"#/components/schemas/EventPause"},"description":"Oldest window first."},"leverageCap":{"type":["integer","null"],"format":"int64","description":"The active event leverage cap on new opens (commodity markets); null when none.","minimum":0},"leverageCapLabel":{"type":["string","null"],"description":"The cap's label, e.g. \"EIA report\"."},"leverageCapReason":{"type":["string","null"],"description":"The cap's kind (`eia`, `macro`, `opec`, `expiry`, `session`) or `guard`.","enum":["eia","macro","opec","expiry","session","guard",null]},"leverageCapUntilMs":{"type":["string","null"],"description":"When the cap lifts.","examples":["1796677320000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"opensPaused":{"type":["boolean","null"],"description":"The indexed `opens_paused` flag; null until indexed."},"pauseBeforeCloseMinutes":{"type":["integer","null"],"format":"int64","description":"Commodity markets: opens pause this many minutes before the daily close.","minimum":0},"pauseReason":{"type":["string","null"],"description":"Why new opens are paused: the event kind (`dividend`, `earnings`, `eia`, `macro`, `opec`,\n`expiry`, `session`) while one of its pauses holds them, `guard` while a live keeper guard\nholds them, `other` for any other admin pause; null when not paused.","enum":["dividend","earnings","eia","macro","opec","expiry","session","guard","other",null]},"pauseUntilMs":{"type":["string","null"],"description":"When the keeper's event pause lapses; null when the keeper is not pausing.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"CosmeticDef":{"type":"object","required":["key","slot","name","rarity","source"],"properties":{"chainId":{"type":["string","null"],"examples":["1n"],"pattern":"^(0|[1-9][0-9]*)n$"},"key":{"type":"string"},"name":{"type":"string"},"rarity":{"type":"string"},"slot":{"type":"string"},"source":{"type":"string"}},"additionalProperties":false},"CosmeticDefinition":{"type":"object","description":"One cosmetic.","required":["id","name"],"properties":{"id":{"type":"string","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"name":{"type":"string"}},"additionalProperties":false},"CosmeticState":{"type":"object","required":["key","owned","source"],"properties":{"key":{"type":"string"},"owned":{"type":"boolean"},"source":{"type":"string"}},"additionalProperties":false},"CreateBuilderInput":{"type":"object","required":["sender","code","payout","feeBps","coin"],"properties":{"code":{"type":"string"},"coin":{"$ref":"#/components/schemas/ObjectRef"},"feeBps":{"type":"string","description":"Basis points (1/10000).","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"payout":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"DailyDrop":{"type":"object","description":"Daily drop schedule.","required":["base","step","max","streakCap"],"properties":{"base":{"type":"string","description":"Base drop, in the drop's unit (XP), as configured on chain.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"max":{"type":"string","description":"Maximum drop, in the drop's unit (XP), as configured on chain.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"step":{"type":"string","description":"Step, in the drop's unit (XP), as configured on chain.","examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"streakCap":{"type":"string","examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"DailyDropUnit":{"type":"string","description":"Unit of the daily drop.","enum":["XP"]},"Data_AccountOverview":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/AccountOverview"}}},"Data_AccountQueue":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/AccountQueue"}}},"Data_Builder":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Builder"}}},"Data_BuilderAllowance":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/BuilderAllowance"}}},"Data_BuiltTx":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/BuiltTx"}}},"Data_Candles":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Candles"}}},"Data_CandlesBatch":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/CandlesBatch"}}},"Data_ChainTriggerLevelsView":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ChainTriggerLevelsView"}}},"Data_Config":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Config"}}},"Data_CorporateActions":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/CorporateActions"}}},"Data_EquityHistory":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/EquityHistory"}}},"Data_Feed":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Feed"}}},"Data_GameDefinitions":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/GameDefinitions"}}},"Data_GameProfile":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/GameProfile"}}},"Data_HintAccepted":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/HintAccepted"}}},"Data_HistoryPage":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/HistoryPage"}}},"Data_Leaderboard":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Leaderboard"}}},"Data_LedgerPage":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/LedgerPage"}}},"Data_Lp":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Lp"}}},"Data_LpQueue":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/LpQueue"}}},"Data_MarketList":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/MarketList"}}},"Data_MarketResponse":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/MarketResponse"}}},"Data_MarketStatsResponse":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/MarketStatsResponse"}}},"Data_Monitoring":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Monitoring"}}},"Data_Option_Builder":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Builder"}]}}},"Data_Option_StakingPool":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StakingPool"}]}}},"Data_OrderBook":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/OrderBook"}}},"Data_OrderResponse":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/OrderResponse"}}},"Data_OrdersPage":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/OrdersPage"}}},"Data_PnlCard":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/PnlCard"}}},"Data_PositionResponse":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/PositionResponse"}}},"Data_PositionsPage":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/PositionsPage"}}},"Data_PreparedIntent":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/PreparedIntent"}}},"Data_PreviewClose":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/PreviewClose"}}},"Data_PreviewOpen":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/PreviewOpen"}}},"Data_PriceHistory":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/PriceHistory"}}},"Data_Prices":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Prices"}}},"Data_Protocol":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Protocol"}}},"Data_QueueSummary":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/QueueSummary"}}},"Data_RecentPositions":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/RecentPositions"}}},"Data_Referrals":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Referrals"}}},"Data_SponsorExecuted":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/SponsorExecuted"}}},"Data_SponsorSubmitConfig":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/SponsorSubmitConfig"}}},"Data_Sponsored":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Sponsored"}}},"Data_SponsoredFlowBuilt":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/SponsoredFlowBuilt"}}},"Data_SponsoredFlowConfig":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/SponsoredFlowConfig"}}},"Data_SponsoredFlowExecuted":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/SponsoredFlowExecuted"}}},"Data_SponsoredFlowStatus":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/SponsoredFlowStatus"}}},"Data_Staker":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Staker"}}},"Data_StakingHistory":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/StakingHistory"}}},"Data_StatsActivity":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/StatsActivity"}}},"Data_TradingReferral":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/TradingReferral"}}},"Data_TriggerView":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/TriggerView"}}},"Data_Triggers":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Triggers"}}},"Data_Vec_Builder":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Builder"}}}},"Data_Vec_BuilderApproval":{"type":"object","description":"`{ data }` with camelCase fields. Every integer is an n-suffixed decimal string (`\"5000000n\"`:\nthe decimal digits and a trailing `n`; decode with `BigInt` after dropping the `n`), floats\nare JSON numbers. Exceptions: the staking `accRewardPerShare` / `rewardDebt` (plain decimal\nstrings) and the opaque string cursors; send the leaderboard `nextCursor` back as `cursor`\nwithout the `n`.","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BuilderApproval"}}}},"Delegate":{"type":"object","description":"A delegate of an account.","required":["delegate","expiryMs"],"properties":{"delegate":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"expiryMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"DepositInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","accountId","coin"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"coin":{"$ref":"#/components/schemas/ObjectRef","description":"The `Coin<C>` deposited."},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}],"description":"`deposit`."},"DigestHintRequest":{"type":"object","required":["digest"],"properties":{"digest":{"type":"string","description":"Non-empty base58 transaction digest.","examples":["cgQt9nJzVJejFdAFSrw36bZHABJGw7sEWRF8Vd43uZnz"]}}},"DirectReferee":{"type":"object","description":"A referee bound to the address (`as_referrer.direct[]`).","required":["address","boundAtMs"],"properties":{"address":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"boundAtMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"EmergencyCloseAsDelegateInput":{"type":"object","description":"`emergency-close-as-delegate`: `emergency-close` without the account cap.","required":["sender","marketId","accountId","orderId"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]},"orderId":{"type":"string","description":"The shared close `OrderRequest<C>` object id.","examples":["0x8a79598616df8d6e8de46f0234cf3d4e468c05fa00ed82fb783ecc43823555d1"]},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"updateBase64":{"type":["string","null"]}}},"EmergencyCloseInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","marketId","accountId","orderId"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]},"orderId":{"type":"string","description":"The shared close `OrderRequest<C>` object id.","examples":["0x8a79598616df8d6e8de46f0234cf3d4e468c05fa00ed82fb783ecc43823555d1"]},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"updateBase64":{"type":["string","null"]}}}],"description":"`emergency-close` (no caller price bound)."},"EquityHistory":{"type":"object","description":"The owner's hourly equity snapshots for the range and the\nequity now. Equity = free balance + open positions' margin + unrealized PnL (what closing each\nat the indexed oracle mid would pay after fees; without a fresh price, at its margin), summed\nover the owner's trading accounts. USDC base units (6 decimals).","required":["range","bucketMs","fromMs","toMs","points","current"],"properties":{"bucketMs":{"type":"string","description":"Snapshot spacing (one row per hour, the hour's latest observation).","examples":["3600000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"current":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EquityPoint","description":"The equity now from one read of balances, positions and prices; null without an account\nor a position, or while the indexer lags."}]},"fromMs":{"type":["string","null"],"description":"The window start; null for `all`.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"points":{"type":"array","items":{"$ref":"#/components/schemas/EquityPoint"},"description":"Oldest first, at most 500; the first is the last snapshot at or before `fromMs`."},"range":{"type":"string","description":"`\"24h\"`, `\"7d\"`, `\"30d\"` or `\"all\"`, as requested.","enum":["24h","7d","30d","all"],"examples":["7d"]},"toMs":{"type":"string","description":"The request time.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"EquityPoint":{"type":"object","description":"One equity observation.","required":["tsMs","equity","free","margin","unrealizedPnl","openPositions","unpricedPositions"],"properties":{"equity":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"free":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"margin":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"openPositions":{"type":"string","examples":["1n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"tsMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"unpricedPositions":{"type":"string","description":"Positions without a fresh price, counted at their margin.","examples":["0n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"unrealizedPnl":{"type":"string","description":"Negative while the open positions are under water.","examples":["-12500000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"ErrorBody":{"type":"object","required":["error"],"properties":{"error":{"$ref":"#/components/schemas/ErrorObject"}}},"ErrorObject":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable code (snake_case)."},"detail":{"type":"string","description":"parchment-service's own text for a transaction it refused (for example which command it\ndoes not sponsor), when it differs from `message`. Sent only for 4xx codes whose text\ndescribes the caller's own transaction: shape_refused, fee_short, deposit_below_min,\nbad_account, disallowed_command, disallowed_function, disallowed_package,\ndisallowed_transfer, disallowed_type_argument, too_many_commands, too_many_inputs,\ntoo_many_trades, mixed_accounts, mixed_trades, no_trade, price_not_allowed, gas_coin_used,\ngas_budget_exceeded, gas_budget_too_low, bad_gas_payment, bad_expiration. Printable ASCII,\nat most 300 characters ([`MAX_DETAIL_CHARS`]), URLs and host:port redacted. For developers\nand support tooling; not a stable contract."},"message":{"type":"string","description":"Short, fixed, user-facing text for `code`."}}},"EventPause":{"type":"object","description":"One scheduled-event pause window. Floats are JSON numbers; times are js_bigint ms.","required":["kind","symbol","date","validation","pauseStartMs","pauseEndMs","closePositionsMs","status","paused","action","eventMs"],"properties":{"action":{"type":"string","description":"`pause` (opens paused) or `cap` (leverage of new opens capped at `maxLeverage`)."},"amount":{"type":["number","null"],"format":"double","description":"Dividend: USD per share."},"bustDistance":{"type":["number","null"],"format":"double","description":"Dividend: bust distance at max leverage (fraction of price) it was compared with."},"closePositionsMs":{"type":["string","null"],"description":"When the keeper closes existing positions for this event; null when event close is not\nlive.","examples":["1796677800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"date":{"type":"string","description":"`YYYY-MM-DD`, New York: the ex-date or the report date.","examples":["2026-12-07"]},"dividendFraction":{"type":["number","null"],"format":"double","description":"Dividend: `amount / price`; null when the price was unknown (then it pauses)."},"eventMs":{"type":["string","null"],"description":"Commodity windows: the event instant.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"kind":{"type":"string","description":"The event's kind: `dividend` or `earnings` (equity markets), or a commodity window\n(`eia`, `macro`, `opec`, `expiry`, `session`).","enum":["dividend","earnings","eia","macro","opec","expiry","session"]},"label":{"type":["string","null"],"description":"Commodity windows: \"EIA report\", \"CPI\", \"Daily close\", \"Reopen\", ..."},"maxLeverage":{"type":["integer","null"],"format":"int64","description":"A JSON number (not a bigint).","minimum":0},"pauseEndMs":{"type":"string","description":"... to here.","examples":["1796743800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pauseStartMs":{"type":"string","description":"New opens pause from here ...","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"paused":{"type":"boolean","description":"New opens are paused for this event right now (the admin pause or the keeper's event\npause): an open is refused even while `opensPaused` is false."},"status":{"type":"string","description":"`upcoming` or `active`.","enum":["upcoming","active"]},"symbol":{"type":"string","description":"The listed ticker.","examples":["WTI"]},"timing":{"type":["string","null"],"description":"Earnings: `after_close`, `before_open` or `unknown`.","enum":["after_close","before_open","unknown",null]},"validation":{"type":"string","description":"`confirmed`, `single_source`, `unverified`, `disputed`, `override` or `schedule`\n(computed from a published rule or schedule: contract expiry, the feed's sessions).","enum":["confirmed","single_source","unverified","disputed","override","schedule"]}},"additionalProperties":false},"ExitEarlyBoundedInput":{"type":"object","description":"`exit-early-bounded`: the owner's early exit of exactly the quoted ledger entries, aborting\non chain (`locked_mint::EPenaltyAboveMax`, 5) if it would forfeit more than `maxPenalty`.\n`unlocks` and `maxPenalty` are the game profile's `earlyExitUnlocks` and\n`earlyExitPenaltyNow`.","required":["sender","unlocks","maxPenalty"],"properties":{"maxPenalty":{"type":"string","description":"The most penalty the owner accepts, base units.","examples":["300000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"unlocks":{"type":"array","items":{"type":"string","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}}},"additionalProperties":false},"ExitKind":{"type":"string","description":"How a position exited.","enum":["close","liquidation","session"]},"ExpireOrderInput":{"type":"object","description":"`expire-order` (permissionless).","required":["sender","accountId","orderId"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"marketId":{"type":["string","null"],"description":"The order's market; null = looked up from the indexed order.","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]},"orderId":{"type":"string","description":"The shared `OrderRequest<C>` object id.","examples":["0x8a79598616df8d6e8de46f0234cf3d4e468c05fa00ed82fb783ecc43823555d1"]},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"updateBase64":{"type":["string","null"],"description":"Signed Pyth Lazer update (equity markets)."}}},"ExposureDay":{"type":"object","description":"A market's side totals at the end of one day.","required":["day","longOi","shortOi","longLocked","shortLocked"],"properties":{"day":{"type":"string","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"longLocked":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"longOi":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"shortLocked":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"shortOi":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"FeeAchievement":{"type":"object","description":"A fee-backed (kind 8) achievement with the wallet's progress; the progress fields are 0 once\nunlocked.","required":["id","mintAtUnlock","feesRequired","feesNeeded","xp","mintAmount","eligibleMint","active","unlocked"],"properties":{"active":{"type":"boolean"},"eligibleMint":{"type":"string","description":"`mint_amount` when the next settle with no new fees pays this rung, else 0.","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"feesNeeded":{"type":"string","description":"Fee credit still to pay before a settle is sure to pay this rung in full: 0 when eligible,\nelse the larger of `fees_required - fee_credit` and the full cost of this rung plus every\nearlier locked rung, less the unconsumed credit (can exceed `fees_required - fee_credit`).","examples":["250000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"feesRequired":{"type":"string","description":"The achievement's `param`: fees to pay to unlock it (base units).","examples":["250000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"id":{"type":"string","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"mintAmount":{"type":"string","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"mintAtUnlock":{"type":"string","description":"The mint the rung pays when it unlocks: the full `mintAmount`, never part of it.","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"name":{"type":["string","null"]},"unlockable":{"type":["boolean","null"],"description":"False when no fee top-up can unlock this locked rung under the current config (inactive, a\nmint at fraction 0, or past the fee-credit ceiling); true once unlocked. Optional: omitted while the service's response does not carry it."},"unlocked":{"type":"boolean"},"xp":{"type":"string","examples":["1250n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"FeeDay":{"type":"object","required":["day","flows"],"properties":{"day":{"type":"string","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"flows":{"$ref":"#/components/schemas/FeeFlows"}},"additionalProperties":false},"FeeFlows":{"type":"object","description":"Fee and redistribution flows (USDC; the vest penalty and forfeits are PARCHMENT).","required":["retained","retainedStakers","retainedTreasury","winFee","lossFee","closeToll","sweep","sweepStakers","sweepTreasury","sweepGrowth","stakerDeposit","treasuryWithdrawn","growthWithdrawn","vestPenalty","forfeitsSwept","forfeitsClaimed"],"properties":{"closeToll":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"forfeitsClaimed":{"type":"string","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"forfeitsSwept":{"type":"string","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"growthWithdrawn":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lossFee":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"retained":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"retainedStakers":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"retainedTreasury":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stakerDeposit":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sweep":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sweepGrowth":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sweepStakers":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sweepTreasury":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"treasuryWithdrawn":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"vestPenalty":{"type":"string","examples":["300000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"winFee":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"FeeStats":{"type":"object","required":["totals","days"],"properties":{"coverageBps":{"type":["string","null"],"description":"Pool coverage `lpCash / reserve`.","examples":["12500n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"days":{"type":"array","items":{"$ref":"#/components/schemas/FeeDay"}},"growthBalance":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lpCash":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"reserve":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stakerBalance":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stakerShareBps":{"type":["string","null"],"description":"Stakers' share of the next retained fee at that coverage.","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"totals":{"$ref":"#/components/schemas/FeeFlows","description":"Every indexed flow since launch."},"treasuryBalance":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"Feed":{"type":"object","required":["entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/FeedEntry"}}},"additionalProperties":false},"FeedEntry":{"type":"object","description":"One trade of a feed (whales, rekt), newest first.","required":["walletAddress","marketId","positionId","pnl","notional","atMs","kind"],"properties":{"atMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"exitWad":{"type":["string","null"],"description":"The position's exit price (WAD); null while it is open or unindexed.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"isLong":{"type":["boolean","null"]},"kind":{"$ref":"#/components/schemas/FeedKind"},"leverage":{"type":["string","null"],"examples":["10n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"notional":{"type":"string","description":"Position notional (base units).","examples":["1000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pnl":{"type":"string","description":"Realized PnL (base units); 0 on an open.","examples":["42500000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"side":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Side","description":"null when the position's side is not indexed."}]},"walletAddress":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"}},"additionalProperties":false},"FeedKind":{"type":"string","description":"What a feed entry records.","enum":["open","close","liquidate"]},"FillLagDay":{"type":"object","required":["day","lags"],"properties":{"day":{"type":"string","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lags":{"$ref":"#/components/schemas/FillLags"}}},"FillLags":{"type":"object","description":"Timing of two-step fills (FILLED, opens and closes).","required":["priceAge","lazerToStorage","requestToLazer"],"properties":{"lazerToStorage":{"$ref":"#/components/schemas/GapStats","description":"The storage price's timestamp less the signed Lazer update's (the one the fill transaction submitted)."},"priceAge":{"$ref":"#/components/schemas/LagStats"},"requestToLazer":{"$ref":"#/components/schemas/GapStats","description":"The signed Lazer update's timestamp less the order's request time."}}},"GameDefinitions":{"type":"object","description":"Registered quests, achievements and cosmetics, by id.","required":["quests","achievements","cosmetics","achievementMintFractionBps","catalog"],"properties":{"achievementMintFractionBps":{"type":"string","description":"Indexed `achievement_mint_fraction_bps`, else the launch default (2500).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"achievements":{"type":"array","items":{"$ref":"#/components/schemas/AchievementDefinition"}},"catalog":{"$ref":"#/components/schemas/Catalog"},"cosmetics":{"type":"array","items":{"$ref":"#/components/schemas/CosmeticDefinition"}},"quests":{"type":"array","items":{"$ref":"#/components/schemas/QuestDefinition"}}},"additionalProperties":false},"GameProfile":{"type":"object","description":"A wallet's game state (zeros for an unknown wallet).","required":["walletAddress","xp","seasonXp","seasonId","tier","streak","winStreak","crates","trades","achievements","questsDone","quests","cosmetics","minted","mintedToday","pendingMint","dailyClaimedToday","feeCredit","feeCreditUsed","achievementMintFractionBps","feeAchievements","lockedLedgerStatus","level","levelXp","nextLevelXp","tierKey","giltMarks","seasonRank","chainXp","xpRulesVersion","chainAchievementIds","chainCosmeticIds","cardDrops"],"properties":{"achievementMintFractionBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"achievements":{"type":"array","items":{"$ref":"#/components/schemas/AchievementState"}},"cardDrops":{"type":"array","items":{"$ref":"#/components/schemas/CardDrop"}},"chainAchievementIds":{"type":"array","items":{"type":"string","examples":["4n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"chainCosmeticIds":{"type":"array","items":{"type":"string","examples":["4n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"chainCounters":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ChainCounter"},"description":"The wallet's on-chain `game_book` counters as last reported by\n`CountersUpdatedEvent`, ascending kind (`game_events::counter_*`; 2 and 3 are the last\ngenuine winning close's leverage and profit bps). Raw: achievement progress above stays\nservice-derived. Omitted by older services."},"chainXp":{"type":"string","examples":["1250n"],"pattern":"^(0|[1-9][0-9]*)n$"},"cosmetics":{"type":"array","items":{"$ref":"#/components/schemas/CosmeticState"}},"crates":{"type":"string","description":"Unopened crates.","examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"dailyClaimedToday":{"type":"boolean"},"earlyExitPaidNow":{"type":["string","null"],"description":"What an early exit would pay now (`vest_status.exit_paid`).","examples":["1200000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"earlyExitPenaltyNow":{"type":["string","null"],"description":"What an early exit would forfeit now (`vest_status.exit_penalty`).","examples":["300000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"earlyExitUnlocks":{"type":["array","null"],"items":{"type":"string","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"feeAchievements":{"type":"array","items":{"$ref":"#/components/schemas/FeeAchievement"}},"feeCredit":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"feeCreditUsed":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"giltMarks":{"type":"string","examples":["3n"],"pattern":"^(0|[1-9][0-9]*)n$"},"lastDailyDay":{"type":["string","null"],"description":"UTC day (`ms / 86_400_000`) of the last daily claim; null before the first.","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"level":{"type":"string","examples":["4n"],"pattern":"^(0|[1-9][0-9]*)n$"},"levelXp":{"type":"string","examples":["1250n"],"pattern":"^(0|[1-9][0-9]*)n$"},"lockWindowBalance":{"type":["string","null"],"description":"Part still inside the lock window (`vest_status.locked`).","examples":["1200000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lockedBalance":{"type":["string","null"],"description":"Everything held in the wallet's locked ledger.","examples":["1200000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lockedLedgerStatus":{"$ref":"#/components/schemas/LockedLedgerStatus","description":"Whether the seven ledger figures below come from the wallet's current ledger; they are\nnull unless it is `current`."},"lockedMintSchedule":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/LockedMintSchedule","description":"Lock and vest of new locked-mint credits (default 7 and 30 days). Omitted by older\nservices."}]},"minted":{"type":"string","description":"Game PARCHMENT minted to the wallet so far (base units).","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"mintedToday":{"type":"string","description":"Game PARCHMENT issued to the wallet in the current UTC day (base units).","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"nextLevelXp":{"type":"string","examples":["1250n"],"pattern":"^(0|[1-9][0-9]*)n$"},"nextTier":{"type":["string","null"]},"nextUnlockMs":{"type":["string","null"],"description":"When the next entry leaves the lock; 0 when nothing is still inside the lock.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"parkedMint":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ParkedMint","description":"Credits parked because the wallet's lock ledger was full. Omitted by\nolder services."}]},"pendingMint":{"type":"string","description":"Accrued, not yet issued (base units).","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"quests":{"type":"array","items":{"$ref":"#/components/schemas/QuestDefinition"},"description":"Quest definitions supplied by the service."},"questsDone":{"type":"array","items":{"type":"string","examples":["12n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"releasableNow":{"type":["string","null"],"description":"`vest_status.claimable`: releasable now.","examples":["1200000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"seasonId":{"type":"string","examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"seasonRank":{"type":"string","examples":["17n"],"pattern":"^(0|[1-9][0-9]*)n$"},"seasonXp":{"type":"string","examples":["1250n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"streak":{"type":"string","examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"tier":{"type":"string"},"tierKey":{"type":"string"},"trades":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"vestingBalance":{"type":["string","null"],"description":"Part unlocked and vesting (`vest_status.vesting`).","examples":["1200000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"walletAddress":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"winStreak":{"type":"string","examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"xp":{"type":"string","examples":["1250n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"xpRulesVersion":{"type":"string","examples":["1n"],"pattern":"^(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"GameRewards":{"type":"object","required":["model","decimals","walletMintCapPerDay","globalMintCapPerDay","winMint","achievementMintFractionBps","dailyDrop","dailyDropUnit","treasuryInstalled","note"],"properties":{"achievementMintFractionBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"dailyDrop":{"$ref":"#/components/schemas/DailyDrop"},"dailyDropUnit":{"$ref":"#/components/schemas/DailyDropUnit"},"decimals":{"type":"string","description":"PARCHMENT decimals.","examples":["9n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"globalMintCapPerDay":{"type":"string","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"model":{"$ref":"#/components/schemas/RewardModel"},"note":{"type":"string"},"treasuryInstalled":{"type":"boolean","description":"The exchange holds `TreasuryCap<PARCHMENT>`."},"walletMintCapPerDay":{"type":"string","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"winMint":{"type":"string","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"GapStats":{"type":"object","description":"A signed gap (ms) over two-step fills: `count` fills with the observation, `missing` fills without it (history indexed before it was recorded, a Lazer update that did not decode, a request that was not indexed).","required":["count","missing"],"properties":{"count":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxMs":{"type":["string","null"],"description":"Milliseconds.","examples":["5200n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"minMs":{"type":["string","null"],"description":"Milliseconds.","examples":["310n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"missing":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"p50Ms":{"type":["string","null"],"description":"Nearest-rank percentiles, the minimum and the maximum (ms); null without observations.","examples":["850n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"p95Ms":{"type":["string","null"],"description":"Milliseconds.","examples":["2400n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}}},"GasMode":{"type":"string","description":"How the sponsor pays gas.","enum":["address-balance"]},"GrantCloseDelegateInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput","description":"Owner's AccountCap reference."},{"type":"object","required":["sender","accountId"],"properties":{"accountId":{"type":"string","description":"Account receiving the grant.","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"sender":{"type":"string","description":"Transaction sender (account owner).","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}]},"GrantDelegateInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","accountId","delegate","expiryMs"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"delegate":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"expiryMs":{"type":"string","description":"Unix ms (checked against the shared Clock).","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}],"description":"`grant-delegate`."},"GrantSeasonRewardInput":{"allOf":[{"$ref":"#/components/schemas/AuthorityCapInput"},{"type":"object","required":["sender","who","amount"],"properties":{"amount":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"who":{"type":"string","description":"The player.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"}}}],"description":"`grant-season-reward` (game keeper)."},"GrantSessionAndTriggerInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput","description":"Owner's AccountCap reference."},{"type":"object","required":["sender","accountId","sessionDelegate","expiryMs"],"properties":{"accountId":{"type":"string","description":"Account receiving the grant.","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"expiryMs":{"type":"string","description":"Trading session expiry, Unix ms.","examples":["1796677200000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"sender":{"type":"string","description":"Transaction sender (account owner).","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"sessionDelegate":{"type":"string","description":"Trading session key; must differ from the configured trigger delegate.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}]},"HarvestInput":{"type":"object","description":"`harvest` (permissionless).","required":["sender"],"properties":{"maxEntries":{"type":["string","null"],"description":"1 to 128; the service defaults to 32.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"HintAccepted":{"type":"object","required":["orderIds"],"properties":{"orderIds":{"type":"array","items":{"type":"string","examples":["0x8a79598616df8d6e8de46f0234cf3d4e468c05fa00ed82fb783ecc43823555d1"],"pattern":"^0x[0-9a-f]{64}$"}}}},"HistoryItem":{"allOf":[{"$ref":"#/components/schemas/Activity"},{"type":"object","required":["id","txDigest","timestampMs"],"properties":{"accountId":{"type":["string","null"],"examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"id":{"type":"string","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":["string","null"],"examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"openStopLossWad":{"type":["string","null"],"description":"Stop-loss level open at the time, when available; absent when the service omits it.","examples":["71500000000000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"openTakeProfitWad":{"type":["string","null"],"description":"Take-profit level open at the time, when available; absent when the service omits it.","examples":["78000000000000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"positionId":{"type":["string","null"],"examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"timestampMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"triggerFiredAtMs":{"type":["string","null"],"description":"Time the trigger fired, when available; absent when the service omits it.","examples":["1796677200000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"triggerKind":{"type":["string","null"]},"triggerPriceWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"txDigest":{"type":"string","examples":["c3CE1sYJ2ufo1E8wNhVahkJbu66F4tMxpTXLeW3o8QSA"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}}}],"description":"One row of a wallet's trade history."},"HistoryPage":{"type":"object","description":"Newest first.","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/HistoryItem"}},"nextCursor":{"type":["string","null"]}},"additionalProperties":false},"HoursMode":{"type":"string","description":"Trading hours of a market.","enum":["equity","always"]},"ImpactParams":{"type":"object","description":"Price impact parameters of a market.","required":["cNum","cDen","deadbandDiv","referenceNotional","pNum","pDen","effectiveDepth","deadbandPpm","closeFeePpm"],"properties":{"cDen":{"type":"string","examples":["1000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"cNum":{"type":"string","examples":["1n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"closeFeePpm":{"type":"string","description":"Parts per million.","examples":["500n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"deadbandDiv":{"type":"string","examples":["4n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"deadbandPpm":{"type":"string","description":"Parts per million.","examples":["1000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"effectiveDepth":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pDen":{"type":"string","examples":["100n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pNum":{"type":"string","examples":["1n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"referenceNotional":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"InstallTreasuryInput":{"allOf":[{"$ref":"#/components/schemas/AuthorityCapInput"},{"type":"object","required":["sender","treasuryCap"],"properties":{"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"treasuryCap":{"$ref":"#/components/schemas/ObjectRef","description":"The published `TreasuryCap<PARCHMENT>`."}}}],"description":"`install-treasury` (admin)."},"KeeperIdInput":{"allOf":[{"$ref":"#/components/schemas/AuthorityCapInput"},{"type":"object","required":["sender","who","id"],"properties":{"id":{"type":"string","description":"Achievement or quest id.","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"who":{"type":"string","description":"The player.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"}}}],"description":"`award-achievement`, `complete-quest` (game keeper)."},"LagStats":{"type":"object","description":"Price age of two-step fills: the fill's Clock less the timestamp of the storage price it filled at (0 when that price is ahead of the Clock).","required":["count"],"properties":{"count":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxMs":{"type":["string","null"],"description":"Milliseconds.","examples":["5200n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"p50Ms":{"type":["string","null"],"description":"Nearest-rank percentiles and the maximum (ms); null without fills.","examples":["850n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"p95Ms":{"type":["string","null"],"description":"Milliseconds.","examples":["2400n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}}},"Leaderboard":{"type":"object","description":"One offset page, with the viewer's (`owner`) row.","required":["period","by","rows"],"properties":{"by":{"$ref":"#/components/schemas/LeaderboardMetric"},"nextCursor":{"type":["string","null"],"description":"Offset of the next page (the request's `cursor`); null on the last page.","examples":["50n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"period":{"$ref":"#/components/schemas/LeaderboardPeriod"},"rows":{"type":"array","items":{"$ref":"#/components/schemas/LeaderboardRow"}},"viewer":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/LeaderboardRow","description":"null without an `owner` or when the owner is unranked."}]}},"additionalProperties":false},"LeaderboardMetric":{"type":"string","description":"Leaderboard ranking metric (`by`; the service defaults to `pnl`).","enum":["pnl","pnlPct","volume","winStreak","xp"]},"LeaderboardPeriod":{"type":"string","description":"Leaderboard window (`period`; the service defaults to `all`).","enum":["daily","weekly","all","season"]},"LeaderboardRow":{"type":"object","description":"One ranked row of a leaderboard; ties share a rank.","required":["rank","walletAddress","value","stats"],"properties":{"rank":{"type":"string","description":"1-based.","examples":["17n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stats":{"$ref":"#/components/schemas/LeaderboardStats"},"value":{"type":"string","description":"The `by` metric's value: `pnl` and `volume` in USDC base units (6 decimals), `pnlPct` in\nbasis points of margin (`sum(pnl) * 10000 / sum(margin)`), `winStreak` the win streak (consecutive winning closes),\n`xp` in XP.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"walletAddress":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"}},"additionalProperties":false},"LeaderboardStats":{"type":"object","description":"A leaderboard row's stats inside the board's period window.","required":["trades","closes","wins","volume","pnl","xp","tier","winStreak"],"properties":{"closes":{"type":"string","description":"Settled closes and liquidations.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pnl":{"type":"string","description":"Realized PnL (base units).","examples":["42500000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"tier":{"type":"string","examples":["4n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"trades":{"type":"string","description":"Opens.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"volume":{"type":"string","description":"Open notional (base units).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"winRateBps":{"type":["string","null"],"description":"`wins * 10000 / closes`; null without a close.","examples":["5400n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"winStreak":{"type":"string","examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"wins":{"type":"string","description":"Closes with a positive PnL.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"xp":{"type":"string","examples":["1250n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"LedgerFullParked":{"type":"object","description":"The latest full-ledger parking of one of the wallet's credits.","required":["kind","basis","timestampMs","txDigest"],"properties":{"accountId":{"type":["string","null"],"description":"The account whose pending basis holds it; null for game issuance (kind 2).","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"basis":{"type":"string","examples":["42500000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"kind":{"type":"string","description":"0 loss mint (claim with claim-pending-mint), 1 parked claim left parked, 2 game issuance\nleft pending (collect-mint).","examples":["0n"],"pattern":"^(0|[1-9][0-9]*)n$"},"timestampMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"txDigest":{"type":"string","examples":["c3CE1sYJ2ufo1E8wNhVahkJbu66F4tMxpTXLeW3o8QSA"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}},"additionalProperties":false},"LedgerPage":{"type":"object","required":["rows"],"properties":{"nextCursor":{"type":["string","null"]},"rows":{"type":"array","items":{"$ref":"#/components/schemas/LedgerRow"}}},"additionalProperties":false},"LedgerRow":{"type":"object","required":["key","source","amount","timestampMs","seasonId"],"properties":{"amount":{"type":"string","examples":["100000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"key":{"type":"string"},"seasonId":{"type":"string","examples":["3n"],"pattern":"^(0|[1-9][0-9]*)n$"},"source":{"type":"string"},"timestampMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"Limits":{"type":"object","required":["priceFeedStorageGetter","priceUnavailable","tradeTransactions","tradeTxNote","orderTxNote","referralBonuses","referralEstimate","orderBook","sponsor","incomingTxKind","signedAuth","moveAbortCatalog"],"properties":{"incomingTxKind":{"type":"string"},"moveAbortCatalog":{"type":"string"},"orderBook":{"type":"string"},"orderTxNote":{"type":"string"},"priceFeedStorageGetter":{"type":"string"},"priceUnavailable":{"type":"string"},"referralBonuses":{"type":"string"},"referralEstimate":{"type":"string"},"signedAuth":{"type":"string"},"sponsor":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"tradeTransactions":{"type":"string"},"tradeTxNote":{"type":"string"}}},"LimitsBody":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Limits"}}},"LiquidateInput":{"type":"object","description":"`liquidate`, `liquidate-retired` (order keepers only: the public route answers 403 `keeper_only`).","required":["sender","marketId","positionId"],"properties":{"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"updateBase64":{"type":["string","null"]}}},"LiquidatePayload":{"type":"object","description":"A position liquidated, with its exit and liquidation detail.","required":["positionId","accountId","bounty","toLp","liquidator"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"bounty":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"exitKind":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExitKind"}]},"exitWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"liquidator":{"type":"string","description":"The address credited with the bounty.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"swept":{"type":["boolean","null"],"description":"A touch-sweep inside an open or close; null until the detail event is indexed."},"toLp":{"type":"string","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"LocalBuildTxInput":{"oneOf":[{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["set-builder-create-fee"]},"input":{"$ref":"#/components/schemas/SetBuilderCreateFeeInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["open-crates"]},"input":{"$ref":"#/components/schemas/OpenCratesInput"}}},{"type":"object","required":["input","action"],"properties":{"action":{"type":"string","enum":["transfer-account"]},"input":{"$ref":"#/components/schemas/TransferAccountInput"}}}],"description":"Further transaction actions."},"LockedLedgerStatus":{"type":"string","description":"State of the wallet's locked ledger.","enum":["current","rebuilding","failed"]},"LockedMintSchedule":{"type":"object","description":"Lock and vest of new locked-mint credits (`locked_mint::schedule`).","required":["lockMs","vestMs"],"properties":{"lockMs":{"type":"string","description":"Milliseconds.","examples":["604800000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"vestMs":{"type":"string","description":"Milliseconds.","examples":["2592000000n"],"pattern":"^(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"Lp":{"type":"object","description":"The LP pool and the head of the payout queue.","required":["totalOwed","totalOwedSource","queueLength","claims","note"],"properties":{"claims":{"type":"array","items":{"$ref":"#/components/schemas/Claim"},"description":"The first queued claims in FIFO order, at most 200."},"closesPaused":{"type":["boolean","null"]},"equity":{"type":["string","null"],"description":"`lp_cash - total_owed`, floored at 0.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"feeDev":{"type":["string","null"],"examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"feeGrowth":{"type":["string","null"],"description":"Growth bucket from surplus sweeps (there is no insurance fund).","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"feeLp":{"type":["string","null"],"examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"feeStaker":{"type":["string","null"],"examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"head":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Claim"}]},"lastSurplusMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lockedMargin":{"type":["string","null"],"examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lpCash":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"note":{"type":"string"},"oiMarkets":{"type":["string","null"],"description":"Markets in the exchange's `oi_set`.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"paused":{"type":["boolean","null"]},"queueLength":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"reserve":{"type":["string","null"],"description":"`totalOwed + reserveUpnl + reserveStress`.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"reserveEpoch":{"type":["string","null"],"description":"Bumped by out-of-band snapshot rewrites; an older `ReserveCheck` aborts `ECheckStale`.","examples":["912n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"reserveStress":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"reserveUpnl":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stakerCovHighBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["12500n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stakerCovLowBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["8000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stakerShareBps":{"type":["string","null"],"description":"Stakers' share (bps) of the next retained fee at the current coverage.","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stakerShareMaxBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stakerShareMinBps":{"type":["string","null"],"description":"The retained-fee curve: `min` at coverage <= `low`, linear to `max` at >= `high`.","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stakerSweepMinAmount":{"type":["string","null"],"description":"The keeper's staker-sweep minimum (USDC base units): `feeStaker` moves into the staking\nreward stream at the next keeper sweep once it is at least this much. null when the\nservice does not serve it.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sweep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SweepParams","description":"Live sweep settings; null until the service has authoritative values."}]},"tailProgress":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"totalOwed":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"totalOwedSource":{"$ref":"#/components/schemas/TotalOwedSource"},"trackedLp":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"userFree":{"type":["string","null"],"examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"LpQueue":{"type":"object","required":["queueLength","totalOwed","claims"],"properties":{"claims":{"type":"array","items":{"$ref":"#/components/schemas/Claim"},"description":"The first queued claims in FIFO order, at most 200."},"head":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Claim"}]},"lpCash":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"queueLength":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"totalOwed":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"Market":{"type":"object","description":"One market.\n\nThe nullable fields are null until the market state is indexed.","required":["marketId","longOi","shortOi","longLockedExposure","shortLockedExposure","paramsStale","oneStepSpreadBps","delisted","price","liquidationPaused"],"properties":{"cancelDelayMs":{"type":["string","null"],"description":"How long after a request it can be cancelled when the order\nhas no stored `cancel_after_ms`; null while the market has no order params.","examples":["30000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"closesPaused":{"type":["boolean","null"]},"delisted":{"type":"boolean","description":"No longer in the Registry's `market_ids`; its oracle storage is no longer polled."},"enabled":{"type":["boolean","null"]},"exchangeId":{"type":["string","null"],"description":"The exchange this market is bound to.","examples":["0x2e53756af142bc2768c9bae0d2acae16558e68ab11dc71987dbfc96e4dd40819"],"pattern":"^0x[0-9a-f]{64}$"},"hoursMode":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/HoursMode"}]},"impact":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ImpactParams"}]},"kind":{"type":["string","null"],"examples":["0n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lastOracleSequence":{"type":["string","null"],"examples":["5310442n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lastOracleSlot":{"type":["string","null"],"examples":["342118905n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lastOracleTsMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"liquidationPaused":{"type":"boolean","description":"Only the oracle kill switch stops liquidations."},"longLockedExposure":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"longOi":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"maxLongExposure":{"type":["string","null"],"description":"Per-side caps on locked winning exposure.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxLongOi":{"type":["string","null"],"description":"Per-side open-interest notional caps (micro-USDC).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxShortExposure":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxShortOi":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"nextSessionOpenMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"oneStepSpreadBps":{"type":"string","description":"One-step spread in bps (the launch default 5 without order params).","examples":["5n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"opensPaused":{"type":["boolean","null"]},"oracle":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OracleParams"}]},"oracleKilled":{"type":["boolean","null"]},"paramsStale":{"type":"boolean"},"price":{"$ref":"#/components/schemas/Price"},"risk":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/RiskParams"}]},"sessionEndsAtMs":{"type":["string","null"],"description":"Equity markets only: end of the current session (UX only).","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sessionState":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SessionState","description":"Equity markets only."}]},"shortLockedExposure":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"shortOi":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"status":{"type":["string","null"],"examples":["1n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"symbol":{"type":["string","null"],"examples":["WTI"]},"takerFeeBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"timing":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimingParams"}]},"winFeeBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"MarketActivity":{"type":"object","description":"One market's daily flows and its since-launch totals.","required":["marketId","allTime","days"],"properties":{"allTime":{"$ref":"#/components/schemas/MarketFlow","description":"Every indexed flow since launch."},"days":{"type":"array","items":{"$ref":"#/components/schemas/MarketFlowDay"},"description":"One row per day, `fromDay` to `toDay` (zeros on a quiet day)."},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"symbol":{"type":["string","null"],"examples":["WTI"]}},"additionalProperties":false},"MarketExposure":{"type":"object","required":["marketId","long","short","days"],"properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/ExposureDay"}},"effectiveDepth":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"long":{"$ref":"#/components/schemas/SideExposure"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"short":{"$ref":"#/components/schemas/SideExposure"},"symbol":{"type":["string","null"],"examples":["WTI"]}},"additionalProperties":false},"MarketFillLag":{"type":"object","required":["marketId","window","days"],"properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/FillLagDay"}},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"symbol":{"type":["string","null"],"examples":["WTI"]},"window":{"$ref":"#/components/schemas/FillLags","description":"Over the window."}}},"MarketFlow":{"type":"object","description":"One market's flows over a day or since launch (USDC base units, 6 decimals; counts).\n`volume` is `openedNotional + closedNotional`, as `markets/stats` `volume24h`.","required":["volume","openedNotional","closedNotional","liquidatedNotional","liquidations","fills"],"properties":{"closedNotional":{"type":"string","description":"Positions closed or liquidated, at their open notional.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fills":{"type":"string","description":"Two-step order fills.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"liquidatedNotional":{"type":"string","description":"The liquidated part of `closedNotional`.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"liquidations":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"openedNotional":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"volume":{"type":"string","description":"Notional opened plus notional closed or liquidated.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"MarketFlowDay":{"type":"object","description":"One market's flow on one UTC day.","required":["day","volume","openedNotional","closedNotional","liquidatedNotional","liquidations","fills"],"properties":{"closedNotional":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"day":{"type":"string","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fills":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"liquidatedNotional":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"liquidations":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"openedNotional":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"volume":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"MarketList":{"type":"object","required":["markets"],"properties":{"markets":{"type":"array","items":{"$ref":"#/components/schemas/Market"}}},"additionalProperties":false},"MarketPrice":{"allOf":[{"$ref":"#/components/schemas/Price"},{"type":"object","required":["marketId"],"properties":{"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"symbol":{"type":["string","null"],"examples":["WTI"]}}}],"description":"A market's price."},"MarketResponse":{"type":"object","required":["market"],"properties":{"market":{"$ref":"#/components/schemas/Market"}},"additionalProperties":false},"MarketShortHolds":{"type":"object","required":["marketId","window","days"],"properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/ShortHoldDay"}},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"symbol":{"type":["string","null"],"examples":["WTI"]},"window":{"$ref":"#/components/schemas/ShortHolds","description":"Over the window."}}},"MarketStats":{"type":"object","description":"24 h activity of one market.","required":["marketId","volume24h","openedNotional24h","closedNotional24h","opens24h","closes24h","openInterestLong","openInterestShort"],"properties":{"closedNotional24h":{"type":"string","description":"Notional closed or liquidated in the window.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"closes24h":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"openInterestLong":{"type":"string","description":"Notional of the open long positions.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"openInterestShort":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"openedNotional24h":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"opens24h":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"price24hAgoTsMs":{"type":["string","null"],"description":"The timestamp of `price24hAgoWad`.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"price24hAgoWad":{"type":["string","null"],"description":"The newest price point at or before `sinceMs`; null while the market's history is\nyounger than that.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"symbol":{"type":["string","null"],"examples":["WTI"]},"volume24h":{"type":"string","description":"`opened_notional_24h + closed_notional_24h`.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"MarketStatsResponse":{"type":"object","description":"Every market over `[since_ms, until_ms]`.","required":["sinceMs","untilMs","markets"],"properties":{"markets":{"type":"array","items":{"$ref":"#/components/schemas/MarketStats"}},"sinceMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"untilMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"MintCapStats":{"type":"object","required":["epochs","days"],"properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/MintDay"}},"epochs":{"type":"array","items":{"$ref":"#/components/schemas/MintEpoch"},"description":"Finalized epochs in the window, oldest first."},"flaggedShareBps":{"type":["string","null"],"description":"Flagged share of the window's losses.","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lastEpoch":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MintEpoch","description":"The latest finalized epoch."}]},"tailProgress":{"type":["string","null"],"description":"Curve H (USDC).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"MintDay":{"type":"object","description":"Loss mints settled on one day.","required":["day","mintedLoss","mintedCount","flaggedLoss","flaggedCount","minted","scaleBurned"],"properties":{"day":{"type":"string","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"flaggedCount":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"flaggedLoss":{"type":"string","description":"Trader losses flagged by the contract (wash or self-liquidation: no mint basis).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"minted":{"type":"string","description":"PARCHMENT locked by loss mints.","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"mintedCount":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"mintedLoss":{"type":"string","description":"Trader losses that created mint basis (USDC).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"scaleBurned":{"type":"string","description":"PARCHMENT burned by the cap scale.","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"MintEpoch":{"type":"object","description":"One finalized O2b mint-cap epoch.","required":["epoch","gainUp","gainDown","room","carryIn","provisional","used","excess","scalePpm","carryOut"],"properties":{"carryIn":{"type":"string","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"carryOut":{"type":"string","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"epoch":{"type":"string","examples":["912n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"excess":{"type":"string","description":"`provisional - used`: the provisional mints above `room + carryIn`. Provisional only; the\nPARCHMENT actually burned is the day's `scaleBurned`.","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"gainDown":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"gainUp":{"type":"string","description":"The pool's net trading gain as two sums (USDC, fees excluded).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"provisional":{"type":"string","description":"Gross loss mints requested (PARCHMENT).","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"room":{"type":"string","description":"`k x max(gain, 0)` (PARCHMENT).","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"scalePpm":{"type":"string","description":"Parts per million.","examples":["1000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"used":{"type":"string","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"Monitoring":{"type":"object","description":"The daily loss-mint cap, the payout queue, side exposure against the caps, the fee split, the timing of two-step fills (storage price age, Lazer-to-storage and request-to-Lazer gaps) and short-hold PnL, current values or window totals plus one row per UTC day (`ms / 86_400_000`).","required":["nowMs","fromDay","toDay","complete","mintCap","queue","exposure","fees","fillLag","shortHolds"],"properties":{"complete":{"type":"boolean","description":"The daily series cover every indexed event (false while the service folds older history)."},"exposure":{"type":"array","items":{"$ref":"#/components/schemas/MarketExposure"}},"fees":{"$ref":"#/components/schemas/FeeStats"},"fillLag":{"type":"array","items":{"$ref":"#/components/schemas/MarketFillLag"}},"fromDay":{"type":"string","description":"First and last day of every `days` series.","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"mintCap":{"$ref":"#/components/schemas/MintCapStats"},"nowMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"queue":{"$ref":"#/components/schemas/QueueStats"},"shortHolds":{"$ref":"#/components/schemas/ShortHoldStats"},"toDay":{"type":"string","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"MoveCallView":{"type":"object","description":"One Move call of a built transaction.","required":["package","module","function","typeArguments"],"properties":{"function":{"type":"string"},"module":{"type":"string"},"package":{"type":"string"},"typeArguments":{"type":"array","items":{"type":"string","examples":["0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC"]}}},"additionalProperties":false},"ObjectRef":{"type":"object","description":"An owned object reference: a coin, an `AccountCap` or a `TreasuryCap`. Without `version` the\nservice refuses it.","required":["objectId","digest"],"properties":{"digest":{"type":"string","examples":["cgQt9nJzVJejFdAFSrw36bZHABJGw7sEWRF8Vd43uZnz"]},"objectId":{"type":"string","examples":["0x8625382c4d80085592e718ce599279d26afa58a62d5de24ad4f9a7e50425d655"]},"version":{"type":["string","null"],"examples":["1n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}}},"OpenCratesInput":{"allOf":[{"$ref":"#/components/schemas/AccountInput"},{"type":"object","required":["count"],"properties":{"count":{"type":"string","examples":["3n"],"pattern":"^(0|[1-9][0-9]*)n$"}}}],"description":"Open between one and 500 crates in a single transaction."},"OpenPayload":{"type":"object","description":"A position opened.","required":["builderAmount","positionId","accountId","marketId","isLong","midWad","confWad","entryWad","bustWad","margin","notional","factorBps","winningExposure","winFeeBps","deadbandPpm","closeFeePpm"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"builderAmount":{"type":"string","description":"Builder cut carved from the open taker fee.","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"builderId":{"type":["string","null"],"examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"bustWad":{"type":"string","description":"Scaled by 1e18 (WAD).","examples":["67550000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"closeFeePpm":{"type":"string","description":"Parts per million.","examples":["500n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"confWad":{"type":"string","description":"Scaled by 1e18 (WAD).","examples":["30000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"deadbandPpm":{"type":"string","description":"Parts per million.","examples":["1000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"entryWad":{"type":"string","description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"factorBps":{"type":"string","description":"Basis points (1/10000).","examples":["10000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"isLong":{"type":"boolean"},"margin":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"midWad":{"type":"string","description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"notional":{"type":"string","examples":["1000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"winFeeBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"winningExposure":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"OracleParams":{"type":"object","description":"Oracle parameters of a market.","required":["storageId","sourceId","feedInfoId","lazerFeedId","maxAgeMs","maxConfAgeMs","maxFutureMs","maxTwapDevBps","minSpreadBps"],"properties":{"feedInfoId":{"type":"string","examples":["0x1e4732d671ee54e0d32caadbe57b0414f8187380d4a32d09da9250347666cee5"],"pattern":"^0x[0-9a-f]{64}$"},"lazerFeedId":{"type":"string","examples":["1398n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxAgeMs":{"type":"string","description":"Milliseconds.","examples":["6000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxConfAgeMs":{"type":"string","description":"Milliseconds.","examples":["6000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxFutureMs":{"type":"string","description":"Milliseconds.","examples":["60000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxTwapDevBps":{"type":"string","description":"Unused on chain (reserved layout).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"minSpreadBps":{"type":"string","description":"Basis points (1/10000).","examples":["5n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sourceId":{"type":"string","examples":["2n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"storageId":{"type":"string","examples":["0x36d5377cee4c4a61087f999a9c137472ab8daa75ce225ec82d9e5f4ac1fb12bd"],"pattern":"^0x[0-9a-f]{64}$"}},"additionalProperties":false},"Order":{"type":"object","description":"One two-step order request.","required":["orderId","accountId","owner","marketId","kind","status"],"properties":{"acceptablePriceWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"cancelAfterMs":{"type":["string","null"],"description":"Milliseconds.","examples":["30000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"emergencyAfterMs":{"type":["string","null"],"description":"Milliseconds.","examples":["15000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"execFee":{"type":["string","null"],"examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"execFeeRefunded":{"type":["string","null"],"examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"feeOwed":{"type":["string","null"],"examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fillDeadlineMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fillLatencyMs":{"type":["string","null"],"description":"`finalized_ms - requested_ms` of a filled or liquidated order.","examples":["1200n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fillPriceTsMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fillPriceWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"finalDigest":{"type":["string","null"],"examples":["9QFEqkR62F5JgU4sGyDeZnHqCs6ZDHCe5GbZmYPwvH5Q"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"finalizedMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"isLong":{"type":["boolean","null"]},"kind":{"$ref":"#/components/schemas/OrderKind"},"leverage":{"type":["string","null"],"examples":["10n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"margin":{"type":["string","null"],"examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"maxFeeBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"minFactorBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["10000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"orderId":{"type":"string","examples":["0x8a79598616df8d6e8de46f0234cf3d4e468c05fa00ed82fb783ecc43823555d1"],"pattern":"^0x[0-9a-f]{64}$"},"owner":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"positionId":{"type":["string","null"],"examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"reason":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/RefundReason","description":"Set for `refunded` only."}]},"refund":{"type":["string","null"],"examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"requestDigest":{"type":["string","null"],"examples":["2Cf5C9Hf1FJNNQy1d637AK2z64rtUUkU6GPmHh9ncA2B"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"requestedMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"requester":{"type":["string","null"],"description":"Sender of the request (the owner or a delegate).","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"status":{"$ref":"#/components/schemas/OrderStatus"}},"additionalProperties":false},"OrderBook":{"type":"object","description":"Synthetic levels at the storage mid. Two-step fills\nhave zero spread; the separate market/price views retain their one-step spread.","required":["bids","asks","marketId","kind","status","stale"],"properties":{"ageMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1200n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"asks":{"type":"array","items":{"$ref":"#/components/schemas/BookLevel"}},"bids":{"type":"array","items":{"$ref":"#/components/schemas/BookLevel"}},"indicative":{"type":["boolean","null"],"description":"The indicative price; null (absent) while the book is empty."},"kind":{"$ref":"#/components/schemas/BookKind"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"midWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"reason":{"type":["string","null"],"description":"Why the book is empty; null while live."},"spreadSource":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpreadSource"}]},"spreadWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["40000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stale":{"type":"boolean"},"status":{"$ref":"#/components/schemas/PriceStatus"},"timestampMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"OrderInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","accountId","orderId"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"orderId":{"type":"string","description":"The shared `OrderRequest<C>` object id.","examples":["0x8a79598616df8d6e8de46f0234cf3d4e468c05fa00ed82fb783ecc43823555d1"]},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}],"description":"`cancel-order`."},"OrderKind":{"type":"string","enum":["open","close"]},"OrderResponse":{"type":"object","required":["order"],"properties":{"order":{"$ref":"#/components/schemas/Order"}},"additionalProperties":false},"OrderStatus":{"type":"string","description":"Outcome of a two-step order request.","enum":["pending","filled","liquidated","cancelled","expired","refunded","void","emergency_closed","unknown"]},"OrdersPage":{"type":"object","description":"Newest request first.","required":["orders"],"properties":{"nextCursor":{"type":["string","null"],"description":"`<sort_ms>:<order_id>` of the last row."},"orders":{"type":"array","items":{"$ref":"#/components/schemas/Order"}}},"additionalProperties":false},"ParkedMint":{"type":"object","description":"Full-ledger parking of the wallet's credits.","required":["claims"],"properties":{"claims":{"type":"array","items":{"$ref":"#/components/schemas/ParkedMintClaim"},"description":"Latest claim per account that has claimed."},"lastParked":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/LedgerFullParked"}]}},"additionalProperties":false},"ParkedMintClaim":{"type":"object","description":"The latest bounded claim of an account's parked loss mint.","required":["accountId","epochs","basis","amount","remainingEpochs","remainingBasis","timestampMs","txDigest"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"amount":{"type":"string","examples":["100000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"basis":{"type":"string","examples":["42500000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"epochs":{"type":"string","examples":["24n"],"pattern":"^(0|[1-9][0-9]*)n$"},"remainingBasis":{"type":"string","examples":["42500000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"remainingEpochs":{"type":"string","description":"Parked loss days still to claim (claim again while non-zero).","examples":["24n"],"pattern":"^(0|[1-9][0-9]*)n$"},"timestampMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"txDigest":{"type":"string","examples":["c3CE1sYJ2ufo1E8wNhVahkJbu66F4tMxpTXLeW3o8QSA"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}},"additionalProperties":false},"PnlCard":{"type":"object","description":"The PnL card of a position.","required":["settled","positionId","walletAddress","marketId","pnl","pnlPct","isLong"],"properties":{"isLong":{"type":"boolean"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"pnl":{"type":"string","description":"Realized PnL of the last close or liquidation (base units); 0 while open.","examples":["42500000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pnlPct":{"type":"string","description":"`pnl * 10000 / margin` (bps); 0 without a margin.","examples":["1250n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"settled":{"type":"boolean","description":"Whether the close or liquidation is indexed, including a settled zero PnL."},"walletAddress":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"}},"additionalProperties":false},"Position":{"type":"object","description":"One position, open or exited.","required":["positionId","owner","marketId","trader","attribution","isLong","status"],"properties":{"accountId":{"type":["string","null"],"examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"attribution":{"$ref":"#/components/schemas/Attribution"},"autoCloseAtMs":{"type":["string","null"],"description":"Open positions on equity markets: when the session force close settles it.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"bustWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["67550000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"closeFeePpm":{"type":["string","null"],"description":"Parts per million.","examples":["500n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"confWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["30000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"deadbandPpm":{"type":["string","null"],"description":"Parts per million.","examples":["1000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"entryWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"exitKind":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExitKind","description":"null while open or for rows indexed before the exit event."}]},"factorBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["10000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fillBustWad":{"type":["string","null"],"description":"Liquidation price at the fill, not the requested stop-loss price.","examples":["67550000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"isLong":{"type":"boolean"},"leverage":{"type":["string","null"],"description":"`notional / margin`.","examples":["10n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"margin":{"type":["string","null"],"examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"midWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"notional":{"type":["string","null"],"examples":["1000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"openTx":{"type":["string","null"]},"openedAtMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"owner":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"slDroppedReason":{"type":["string","null"],"description":"Service-recorded stop-loss drop reason, independent of the current trigger legs."},"status":{"$ref":"#/components/schemas/PositionStatus"},"stopLossWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["71500000000000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"takeProfitWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["78000000000000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"trader":{"type":"string","description":"Sender of the open.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"triggers":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TriggerView"}]},"winFeeBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"winningExposure":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"PositionResponse":{"type":"object","required":["position"],"properties":{"position":{"$ref":"#/components/schemas/Position"}},"additionalProperties":false},"PositionStatus":{"type":"string","enum":["open","closed","liquidated"]},"PositionsPage":{"type":"object","description":"Open positions by id.","required":["positions"],"properties":{"nextCursor":{"type":["string","null"]},"positions":{"type":"array","items":{"$ref":"#/components/schemas/Position"}}},"additionalProperties":false},"PrepareTriggersRequest":{"type":"object","description":"`POST /api/parchment/triggers/prepare` body. The owner or a live trading\ndelegate signs the seven-line `Parchment trigger v1` message whose target line is\n`intent <intentId> <marketId> long|short`.","required":["owner","accountId","intentId","marketId","isLong","expiresAtMs","signature"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"expiresAtMs":{"type":"string","description":"Canonical decimal unix ms."},"intentId":{"type":"string","description":"32 lowercase hex digits: 16 random bytes the client chose, used once.","examples":["d54daa1bcef482122fedd0b7c675ff7c"]},"isLong":{"type":"boolean"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]},"owner":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"signature":{"type":"string"},"stopLossWad":{"type":["string","null"],"description":"Canonical decimal WAD, or null."},"takeProfitWad":{"type":["string","null"],"description":"Canonical decimal WAD, or null."}}},"PreparedIntent":{"type":"object","required":["intentId","expiresAtMs"],"properties":{"expiresAtMs":{"type":"string"},"intentId":{"type":"string","examples":["d54daa1bcef482122fedd0b7c675ff7c"]}}},"PreviewClose":{"type":"object","description":"With the market's two-step order params (or the defaults).\nWithout a live price the price fields, `pnl`, `liquidatable` and `max_fee_bps` are null, and\n`spread_source`, `indicative` and `conf_wad` are absent (`one_step_spread_bps` too while the\nmarket is unindexed).","required":["positionId","errors","execFee","fillWindowMs","cancelDelayMs","signedWindowMs","emergencyAfterMs"],"properties":{"cancelDelayMs":{"type":"string","description":"Milliseconds.","examples":["30000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"confWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["30000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"emergencyAfterMs":{"type":"string","description":"The emergency close delay in ms (5000 to 60000 on chain).","examples":["15000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"errors":{"type":"array","items":{"type":"string"},"description":"Reasons the close would fail; empty when it would go through."},"execFee":{"type":"string","description":"Collateral base units escrowed with the request.","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"exitWad":{"type":["string","null"],"description":"The two-step exit: the plain mid (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"feeOwed":{"type":["string","null"],"examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fillWad":{"type":["string","null"],"description":"Same as `exit_wad`.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fillWindowMs":{"type":"string","description":"Milliseconds.","examples":["60000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"indicative":{"type":["boolean","null"]},"liquidatable":{"type":["boolean","null"]},"liquidationPaused":{"type":["boolean","null"],"description":"Whether the market's oracle kill switch stops liquidation; null while unindexed."},"maxFeeBps":{"type":["string","null"],"description":"The effective taker fee snapshot; null without a live price.","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"oneStepSpreadBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["5n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"oneStepWad":{"type":["string","null"],"description":"The one-step exit price emergency close and close_retired pay: the mid moved by the\none-step spread against the position (down for a long, up for a short).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pnl":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ClosePnl","description":"null without a live price or when settlement fails (the reason is in `errors`)."}]},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"signedWindowMs":{"type":"string","description":"Milliseconds.","examples":["60000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"spreadSource":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpreadSource"}]},"suggestedAcceptablePriceWad":{"type":["string","null"],"description":"The mid 0.5% against the trader; null without a live mid.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"suggestedBoundWad":{"type":["string","null"],"description":"`exit_wad` moved `slippage_bps` against the trader; null without `slippage_bps`.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"PreviewCloseRequest":{"type":"object","description":"Close preview request body.","required":["positionId"],"properties":{"acceptableExitWad":{"type":["string","null"],"description":"Format-checked only; the fill ignores it.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"nowMs":{"type":["string","null"],"description":"Unix ms the hold checks are judged at (the service defaults to its clock).","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"slippageBps":{"type":["string","null"],"description":"0..=10000; with it the preview returns `suggested_bound_wad`.","examples":["50n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"topUp":{"type":["string","null"],"description":"Owner top-up added to the free balance (base units).","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}}},"PreviewOpen":{"type":"object","description":"With the market's two-step order params (or the defaults). A\npreview stopped at its first invalid input (margin, leverage, sizing) has every sizing and\nprice field and `max_fee_bps` null, and no `indicative`, `conf_wad`, `taker_fee_bps` nor\n`min_payout_factor_bps`.","required":["marketId","isLong","oneStepSpreadBps","errors","execFee","fillWindowMs","cancelDelayMs","signedWindowMs"],"properties":{"bustWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["67550000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"cancelDelayMs":{"type":"string","description":"Milliseconds.","examples":["30000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"confWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["30000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"entryWad":{"type":["string","null"],"description":"Same as `fill_wad`.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"errors":{"type":"array","items":{"type":"string"},"description":"Reasons the open would fail; empty when it would go through."},"execFee":{"type":"string","description":"Collateral base units escrowed with the request.","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"factorBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["10000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fee":{"type":["string","null"],"description":"The charged open fee (after the referee discount).","examples":["800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fillWad":{"type":["string","null"],"description":"The two-step fill: the plain mid (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"fillWindowMs":{"type":"string","description":"Milliseconds.","examples":["60000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"indicative":{"type":["boolean","null"],"description":"`true` while no fresh signed confidence is indexed (the spread is the floor only)."},"isLong":{"type":"boolean"},"locked":{"type":["string","null"],"description":"Margin locked in the position: `margin` minus the charged `fee`, USDC base units (6\ndecimals).","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"margin":{"type":["string","null"],"examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"maxFeeBps":{"type":["string","null"],"description":"The effective taker fee snapshot; null on a rejected open.","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"minPayoutFactorBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["10000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"notional":{"type":["string","null"],"examples":["1000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"oneStepSpreadBps":{"type":"string","description":"Basis points (1/10000).","examples":["5n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"oneStepWad":{"type":["string","null"],"description":"The one-step reference price: the mid moved by the one-step spread against a long open\n(up) or a short open (down).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"signedWindowMs":{"type":"string","description":"Milliseconds.","examples":["60000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"spreadSource":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpreadSource"}]},"suggestedAcceptablePriceWad":{"type":["string","null"],"description":"The mid 0.5% against the trader; null without a live mid.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"suggestedBoundWad":{"type":["string","null"],"description":"`fill_wad` moved `slippage_bps` against the trader; null without `slippage_bps`.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"takerFeeBps":{"type":["string","null"],"description":"The effective taker fee (market fee or the global override).","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"winningExposure":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"PreviewOpenRequest":{"type":"object","description":"Open preview request body.","required":["marketId","margin","leverage"],"properties":{"acceptableEntryWad":{"type":["string","null"],"description":"Format-checked only; the fill ignores it.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"accountId":{"type":["string","null"],"description":"With it, the account's free balance, notional cap and referee discount are checked.","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"isLong":{"type":["boolean","null"],"description":"The service defaults to `true` (long)."},"leverage":{"type":"string","examples":["10n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"margin":{"type":"string","description":"Collateral base units, fee included.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]},"minFactorBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["10000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"slippageBps":{"type":["string","null"],"description":"0..=10000; with it the preview returns `suggested_bound_wad`.","examples":["50n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"topUp":{"type":["string","null"],"description":"Owner top-up added to the free balance (base units).","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}}},"Price":{"type":"object","description":"A market's storage price (the mid two-step orders fill at), with the spread a one-step exit is\ncharged. There is no bid or ask. Its schema is open: `MarketPrice` composes it with `allOf`\nnext to `marketId`.","required":["status","stale","indicative"],"properties":{"ageMs":{"type":["string","null"],"description":"`now - timestamp_ms` when the view was built (negative if the observation is ahead).","examples":["1200n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"confWad":{"type":["string","null"],"description":"The signed confidence the spread was built from, when a fresh one is indexed.","examples":["30000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"indicative":{"type":"boolean","description":"No fresh signed confidence is indexed: the one-step spread is the `oneStepSpreadBps` floor\nonly, so one-step exit prices and proceeds are an estimate. Two-step fills are at the plain\nmid either way (confidence is optional)."},"maxAgeMs":{"type":["string","null"],"description":"The market's `max_age_ms` the age is judged against.","examples":["6000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"priceWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"reason":{"type":["string","null"],"description":"Why the price is unavailable; null otherwise."},"spreadSource":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpreadSource"}]},"spreadWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["40000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stale":{"type":"boolean"},"status":{"$ref":"#/components/schemas/PriceStatus"},"storageId":{"type":["string","null"],"examples":["0x36d5377cee4c4a61087f999a9c137472ab8daa75ce225ec82d9e5f4ac1fb12bd"],"pattern":"^0x[0-9a-f]{64}$"},"timestampMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"twapWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}}},"PriceHistory":{"type":"object","description":"Oldest point first.","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/PricePoint"}}},"additionalProperties":false},"PricePin":{"type":"object","description":"A configured price pin.","required":["symbol","storageId","sourceId","lazerFeedId","status","stale"],"properties":{"ageMs":{"type":["string","null"],"description":"Negative when the observation is ahead of the clock.","examples":["1200n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lazerFeedId":{"type":"string","examples":["1398n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"priceWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"reason":{"type":["string","null"]},"sourceId":{"type":"string","examples":["2n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stale":{"type":"boolean"},"status":{"$ref":"#/components/schemas/PriceStatus"},"storageId":{"type":"string","examples":["0x36d5377cee4c4a61087f999a9c137472ab8daa75ce225ec82d9e5f4ac1fb12bd"],"pattern":"^0x[0-9a-f]{64}$"},"symbol":{"type":"string","examples":["WTI"]},"timestampMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"twapWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"PricePoint":{"type":"object","description":"One point.","required":["timestampMs","priceWad","source"],"properties":{"priceWad":{"type":"string","description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"source":{"$ref":"#/components/schemas/PriceSource"},"timestampMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"twapWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"PriceSource":{"type":"string","description":"Where a price point was observed.","enum":["fill","storage"]},"PriceStatus":{"type":"string","description":"State of a market's storage price.","enum":["live","stale","price_unavailable"]},"Prices":{"type":"object","required":["markets","pins"],"properties":{"markets":{"type":"array","items":{"$ref":"#/components/schemas/MarketPrice"}},"pins":{"type":"array","items":{"$ref":"#/components/schemas/PricePin"}}},"additionalProperties":false},"Protocol":{"type":"object","required":["openPositions","openNotional","volumeNotional","queueLength","closesPaused"],"properties":{"closesPaused":{"type":"boolean","description":"Global close pause, as indexed."},"equity":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lpCash":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"openNotional":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"openPositions":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"paused":{"type":["boolean","null"]},"queueLength":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"volumeNotional":{"type":"string","description":"Sum of the notional of every open.","examples":["1000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"PublicTxInput":{"anyOf":[{"allOf":[{"$ref":"#/components/schemas/SenderInput"}],"title":"open-account"},{"allOf":[{"$ref":"#/components/schemas/TransferAccountInput"}],"title":"transfer-account"},{"allOf":[{"$ref":"#/components/schemas/DepositInput"}],"title":"deposit"},{"allOf":[{"$ref":"#/components/schemas/WithdrawInput"}],"title":"withdraw"},{"allOf":[{"$ref":"#/components/schemas/RequestOpenInput"}],"title":"request-open"},{"allOf":[{"$ref":"#/components/schemas/RequestOpenAsDelegateInput"}],"title":"request-open-as-delegate"},{"allOf":[{"$ref":"#/components/schemas/RequestCloseInput"}],"title":"request-close"},{"allOf":[{"$ref":"#/components/schemas/RequestCloseAsDelegateInput"}],"title":"request-close-as-delegate"},{"allOf":[{"$ref":"#/components/schemas/OrderInput"}],"title":"cancel-order"},{"allOf":[{"$ref":"#/components/schemas/CancelOrderAsDelegateInput"}],"title":"cancel-order-as-delegate"},{"allOf":[{"$ref":"#/components/schemas/ExpireOrderInput"}],"title":"expire-order"},{"allOf":[{"$ref":"#/components/schemas/EmergencyCloseInput"}],"title":"emergency-close"},{"allOf":[{"$ref":"#/components/schemas/EmergencyCloseAsDelegateInput"}],"title":"emergency-close-as-delegate"},{"allOf":[{"$ref":"#/components/schemas/CloseRetiredInput"}],"title":"close-retired"},{"allOf":[{"$ref":"#/components/schemas/CloseRetiredAsDelegateInput"}],"title":"close-retired-as-delegate"},{"allOf":[{"$ref":"#/components/schemas/ReserveCheckInput"}],"title":"sweep-surplus"},{"allOf":[{"$ref":"#/components/schemas/AccountInput"}],"title":"claim-pending-mint"},{"allOf":[{"$ref":"#/components/schemas/HarvestInput"}],"title":"harvest"},{"allOf":[{"$ref":"#/components/schemas/BindReferrerInput"}],"title":"bind-referrer"},{"allOf":[{"$ref":"#/components/schemas/BindTradingReferrerInput"}],"title":"bind-trading-referrer"},{"allOf":[{"$ref":"#/components/schemas/RegisterBuilderInput"}],"title":"register-builder"},{"allOf":[{"$ref":"#/components/schemas/SetBuilderPayoutInput"}],"title":"set-builder-payout"},{"allOf":[{"$ref":"#/components/schemas/CreateBuilderInput"}],"title":"create-builder"},{"allOf":[{"$ref":"#/components/schemas/SetBuilderFeeInput"}],"title":"set-builder-fee"},{"allOf":[{"$ref":"#/components/schemas/SetBuilderCreateFeeInput"}],"title":"set-builder-create-fee"},{"allOf":[{"$ref":"#/components/schemas/BuilderInput"}],"title":"pause-builder"},{"allOf":[{"$ref":"#/components/schemas/BuilderInput"}],"title":"resume-builder"},{"allOf":[{"$ref":"#/components/schemas/TransferBuilderInput"}],"title":"transfer-builder"},{"allOf":[{"$ref":"#/components/schemas/ApproveBuilderInput"}],"title":"approve-builder"},{"allOf":[{"$ref":"#/components/schemas/RevokeBuilderApprovalInput"}],"title":"revoke-builder-approval"},{"allOf":[{"$ref":"#/components/schemas/StakeInput"}],"title":"stake"},{"allOf":[{"$ref":"#/components/schemas/UnstakeInput"}],"title":"unstake"},{"allOf":[{"$ref":"#/components/schemas/SenderInput"}],"title":"claim"},{"allOf":[{"$ref":"#/components/schemas/AccountInput"}],"title":"claim-daily"},{"allOf":[{"$ref":"#/components/schemas/AccountInput"}],"title":"open-crate"},{"allOf":[{"$ref":"#/components/schemas/OpenCratesInput"}],"title":"open-crates"},{"allOf":[{"$ref":"#/components/schemas/ClaimQuestInput"}],"title":"claim-quest"},{"allOf":[{"$ref":"#/components/schemas/AccountInput"}],"title":"collect-mint"},{"allOf":[{"$ref":"#/components/schemas/ReleaseUnlockedInput"}],"title":"release-unlocked"},{"allOf":[{"$ref":"#/components/schemas/SenderInput"}],"title":"exit-early"},{"allOf":[{"$ref":"#/components/schemas/ExitEarlyBoundedInput"}],"title":"exit-early-bounded"},{"allOf":[{"$ref":"#/components/schemas/InstallTreasuryInput"}],"title":"install-treasury"},{"allOf":[{"$ref":"#/components/schemas/AdminInput"}],"title":"auth-register"},{"allOf":[{"$ref":"#/components/schemas/AdminInput"}],"title":"game-attach"},{"allOf":[{"$ref":"#/components/schemas/GrantDelegateInput"}],"title":"grant-delegate"},{"allOf":[{"$ref":"#/components/schemas/RevokeDelegateInput"}],"title":"revoke-delegate"},{"allOf":[{"$ref":"#/components/schemas/GrantCloseDelegateInput"}],"title":"grant-close-delegate"},{"allOf":[{"$ref":"#/components/schemas/GrantSessionAndTriggerInput"}],"title":"grant-session-and-trigger"},{"allOf":[{"$ref":"#/components/schemas/RevokeSessionAndTriggerInput"}],"title":"revoke-session-and-trigger"}],"description":"The body of POST /transactions/{action}: the input of the path's action (the anyOf branch whose title is that action, or x-parchment-action-inputs[action]). camelCase, every integer an n-suffixed decimal string (\"5000000n\").","x-parchment-action-inputs":{"open-account":{"$ref":"#/components/schemas/SenderInput"},"transfer-account":{"$ref":"#/components/schemas/TransferAccountInput"},"deposit":{"$ref":"#/components/schemas/DepositInput"},"withdraw":{"$ref":"#/components/schemas/WithdrawInput"},"request-open":{"$ref":"#/components/schemas/RequestOpenInput"},"request-open-as-delegate":{"$ref":"#/components/schemas/RequestOpenAsDelegateInput"},"request-close":{"$ref":"#/components/schemas/RequestCloseInput"},"request-close-as-delegate":{"$ref":"#/components/schemas/RequestCloseAsDelegateInput"},"cancel-order":{"$ref":"#/components/schemas/OrderInput"},"cancel-order-as-delegate":{"$ref":"#/components/schemas/CancelOrderAsDelegateInput"},"expire-order":{"$ref":"#/components/schemas/ExpireOrderInput"},"emergency-close":{"$ref":"#/components/schemas/EmergencyCloseInput"},"emergency-close-as-delegate":{"$ref":"#/components/schemas/EmergencyCloseAsDelegateInput"},"close-retired":{"$ref":"#/components/schemas/CloseRetiredInput"},"close-retired-as-delegate":{"$ref":"#/components/schemas/CloseRetiredAsDelegateInput"},"sweep-surplus":{"$ref":"#/components/schemas/ReserveCheckInput"},"claim-pending-mint":{"$ref":"#/components/schemas/AccountInput"},"harvest":{"$ref":"#/components/schemas/HarvestInput"},"bind-referrer":{"$ref":"#/components/schemas/BindReferrerInput"},"bind-trading-referrer":{"$ref":"#/components/schemas/BindTradingReferrerInput"},"register-builder":{"$ref":"#/components/schemas/RegisterBuilderInput"},"set-builder-payout":{"$ref":"#/components/schemas/SetBuilderPayoutInput"},"create-builder":{"$ref":"#/components/schemas/CreateBuilderInput"},"set-builder-fee":{"$ref":"#/components/schemas/SetBuilderFeeInput"},"set-builder-create-fee":{"$ref":"#/components/schemas/SetBuilderCreateFeeInput"},"pause-builder":{"$ref":"#/components/schemas/BuilderInput"},"resume-builder":{"$ref":"#/components/schemas/BuilderInput"},"transfer-builder":{"$ref":"#/components/schemas/TransferBuilderInput"},"approve-builder":{"$ref":"#/components/schemas/ApproveBuilderInput"},"revoke-builder-approval":{"$ref":"#/components/schemas/RevokeBuilderApprovalInput"},"stake":{"$ref":"#/components/schemas/StakeInput"},"unstake":{"$ref":"#/components/schemas/UnstakeInput"},"claim":{"$ref":"#/components/schemas/SenderInput"},"claim-daily":{"$ref":"#/components/schemas/AccountInput"},"open-crate":{"$ref":"#/components/schemas/AccountInput"},"open-crates":{"$ref":"#/components/schemas/OpenCratesInput"},"claim-quest":{"$ref":"#/components/schemas/ClaimQuestInput"},"collect-mint":{"$ref":"#/components/schemas/AccountInput"},"release-unlocked":{"$ref":"#/components/schemas/ReleaseUnlockedInput"},"exit-early":{"$ref":"#/components/schemas/SenderInput"},"exit-early-bounded":{"$ref":"#/components/schemas/ExitEarlyBoundedInput"},"install-treasury":{"$ref":"#/components/schemas/InstallTreasuryInput"},"auth-register":{"$ref":"#/components/schemas/AdminInput"},"game-attach":{"$ref":"#/components/schemas/AdminInput"},"grant-delegate":{"$ref":"#/components/schemas/GrantDelegateInput"},"revoke-delegate":{"$ref":"#/components/schemas/RevokeDelegateInput"},"grant-close-delegate":{"$ref":"#/components/schemas/GrantCloseDelegateInput"},"grant-session-and-trigger":{"$ref":"#/components/schemas/GrantSessionAndTriggerInput"},"revoke-session-and-trigger":{"$ref":"#/components/schemas/RevokeSessionAndTriggerInput"}}},"QuestDefinition":{"type":"object","description":"One quest from the game definitions or profile `quests[]`.","required":["id","kind","param","xp","active","startMs","endMs","seasonId"],"properties":{"active":{"type":"boolean"},"cosmetic":{"type":["string","null"],"examples":["4n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"endMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"id":{"type":"string","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"kind":{"type":"string","examples":["0n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"name":{"type":["string","null"],"description":"null when the registration carried no UTF-8 name."},"param":{"type":"string","examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"seasonId":{"type":"string","examples":["3n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"serviceXp":{"type":["string","null"],"description":"Service XP awarded for this quest; absent when the service omits it.","examples":["1250n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"startMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"xp":{"type":"string","examples":["1250n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"QueueClaim":{"type":"object","description":"One queued claim of a wallet.","required":["position","owed","owedAhead"],"properties":{"claimId":{"type":["string","null"],"description":"null while the service has not indexed the claim id.","examples":["5531n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"owed":{"type":"string","description":"Net still owed to the wallet on this claim (base units).","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"owedAhead":{"type":"string","description":"Everything owed on the claims before this one (net + fee): the LP cash that must arrive\nbefore this claim is paid in full.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"position":{"type":"string","description":"1-based FIFO place in the whole payout queue.","examples":["17n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"QueueDay":{"type":"object","description":"The payout queue on one day.","required":["day","enqueuedCount","enqueuedNet","payments","paidNet","completedCount","entries","owedNet"],"properties":{"completedCount":{"type":"string","description":"Claims whose net was paid in full.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"day":{"type":"string","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"enqueuedCount":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"enqueuedNet":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"entries":{"type":"string","description":"End of day: claims with unpaid net, and that net.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"oldestAgeMs":{"type":["string","null"],"description":"End of day (now, today): age of the oldest claim with unpaid net; null when none.","examples":["1200n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"owedNet":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"paidNet":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"payments":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"QueueStats":{"type":"object","required":["entries","owedNet","nodes","totalOwed","days"],"properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/QueueDay"}},"entries":{"type":"string","description":"Claims with unpaid net, and that net.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"nodes":{"type":"string","description":"Queue nodes, including claims with only a fee left.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"oldestAgeMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1200n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"oldestEnqueuedMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"owedNet":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"totalOwed":{"type":"string","description":"The exchange's `total_owed` (nets and queued fees).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"QueueSummary":{"type":"object","required":["length","totalOwed"],"properties":{"instantlyPayable":{"type":["string","null"],"description":"Portion of `total_owed` payable now (base units, at most `lp_cash`); null without\n`lp_cash`.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"length":{"type":"string","description":"Number of queued claims.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lpCash":{"type":["string","null"],"description":"LP cash (base units); null while the exchange is unindexed.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"owedToLpCashBps":{"type":["string","null"],"description":"`floor(totalOwed * 10000 / lpCash)`; `10000` = owed equals cash.\nnull when `lp_cash` is unknown or 0.","examples":["3100n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"totalOwed":{"type":"string","description":"Sum of queued claims (base units).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"RecentPositions":{"type":"object","description":"Newest first.","required":["entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/RecentTrade"}}},"additionalProperties":false},"RecentTrade":{"type":"object","description":"One trade; the position fields are null while the\nposition is not indexed.","required":["kind","walletAddress","atMs","txDigest"],"properties":{"atMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"entryWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"exitWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"isLong":{"type":["boolean","null"]},"kind":{"$ref":"#/components/schemas/TradeKind"},"leverage":{"type":["string","null"],"examples":["10n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"margin":{"type":["string","null"],"examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":["string","null"],"examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"notional":{"type":["string","null"],"examples":["1000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"positionId":{"type":["string","null"],"examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"priceWad":{"type":["string","null"],"description":"`entry_wad` for an open, `exit_wad` otherwise.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"side":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/positions.Side"}]},"symbol":{"type":["string","null"],"examples":["WTI"]},"txDigest":{"type":"string","examples":["c3CE1sYJ2ufo1E8wNhVahkJbu66F4tMxpTXLeW3o8QSA"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"walletAddress":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"}},"additionalProperties":false},"Referrals":{"type":"object","required":["address","asReferrer","estimate"],"properties":{"address":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"asReferee":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Referrer"}]},"asReferrer":{"$ref":"#/components/schemas/AsReferrer"},"estimate":{"type":"string","description":"How the bonuses are estimated."}},"additionalProperties":false},"Referrer":{"type":"object","description":"The referrer the address is bound to.","required":["referrer","boundAtMs"],"properties":{"boundAtMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"referrer":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"}},"additionalProperties":false},"RefundReason":{"type":"string","description":"Why an order was refunded.","enum":["paused","killed","closed","fee","risk","band","session","retry","revoked"]},"RegisterBuilderInput":{"allOf":[{"$ref":"#/components/schemas/AuthorityCapInput"},{"type":"object","required":["sender","code","payout","owner","feeBps"],"properties":{"code":{"type":"string","description":"1 to 32 UTF-8 bytes."},"feeBps":{"type":"string","description":"0 to 100 (the service refuses more).","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"owner":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"payout":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}],"description":"`register-builder` (admin)."},"ReleaseUnlockedInput":{"type":"object","description":"`release-unlocked`: pays the vested locked mint of `who` (default: the sender); anyone may\nsend it.","required":["sender"],"properties":{"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"who":{"type":["string","null"],"examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]}}},"RequestCloseAsDelegateInput":{"type":"object","description":"`request-close-as-delegate`: `request-close` without the account cap and the top-up\ncoin.","required":["sender","marketId","accountId","positionId"],"properties":{"acceptablePriceWad":{"type":["string","null"],"description":"Mid-based price bound (WAD); null or 0 is no bound.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"RequestCloseInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","marketId","accountId","positionId"],"properties":{"acceptablePriceWad":{"type":["string","null"],"description":"Mid-based price bound (WAD); null or 0 is no bound.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]},"positionId":{"type":"string","examples":["1042n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"topUp":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ObjectRef","description":"Owned USDC coin top-up (optional)."}]}}}],"description":"`request-close` (two-step close)."},"RequestOpenAsDelegateInput":{"type":"object","description":"`request-open-as-delegate`: `request-open` without the account cap and the top-up coin.","required":["sender","marketId","accountId","margin","leverage","isLong","acceptablePriceWad"],"properties":{"acceptablePriceWad":{"type":"string","description":"Mid-based price bound (WAD); the service refuses 0 for opens.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"builderCode":{"type":["string","null"],"description":"Registered builder code, resolved to its id when `builder_id` is null."},"builderId":{"type":["string","null"],"description":"Builder id (optional).","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"isLong":{"type":"boolean"},"leverage":{"type":"string","examples":["10n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"margin":{"type":"string","description":"Base units.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]},"minFactorBps":{"type":["string","null"],"description":"The service defaults to 0.","examples":["10000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"RequestOpenInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","marketId","accountId","margin","leverage","isLong","acceptablePriceWad"],"properties":{"acceptablePriceWad":{"type":"string","description":"Mid-based price bound (WAD); the service refuses 0 for opens.","examples":["74250000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"builderCode":{"type":["string","null"],"description":"Registered builder code, resolved to its id when `builder_id` is null."},"builderId":{"type":["string","null"],"description":"Builder id (optional); with neither this nor `builderCode` there is none.","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"isLong":{"type":"boolean"},"leverage":{"type":"string","examples":["10n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"margin":{"type":"string","description":"Base units.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]},"minFactorBps":{"type":["string","null"],"description":"The service defaults to 0.","examples":["10000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"topUp":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ObjectRef","description":"Owned USDC coin top-up (optional)."}]}}}],"description":"`request-open` (two-step open)."},"ReserveCheckInput":{"type":"object","description":"`sweep-surplus` (a reserve check over every market with open interest). The retired\n`resume-distributions` used it too; it is not a public action (`unknown_action`).","required":["sender"],"properties":{"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"updateBase64":{"type":["string","null"],"description":"One feed's update: refused when more than one market has open interest."}}},"RevokeBuilderApprovalInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","accountId","builderId"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"builderId":{"type":"string","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}]},"RevokeDelegateInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","accountId","delegate"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"delegate":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}],"description":"`revoke-delegate`."},"RevokeSessionAndTriggerInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput","description":"Owner's AccountCap reference."},{"type":"object","required":["sender","accountId","sessionDelegate","triggerDelegate"],"properties":{"accountId":{"type":"string","description":"Account receiving the grant.","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"sender":{"type":"string","description":"Transaction sender (account owner).","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"sessionDelegate":{"type":"string","description":"Trading session address to revoke.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"triggerDelegate":{"type":"string","description":"Close delegate to revoke (may differ from current service configuration).","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]}}}]},"RewardModel":{"type":"string","description":"How game rewards are issued.","enum":["minted"]},"RiskParams":{"type":"object","description":"Risk parameters of a market.","required":["minLeverage","maxLeverage","bustBufferWad","minMargin","minNotional","maxPositionNotional","maxTxNotional","maxBlockNotional","maxAccountNotional","liqBountyBps"],"properties":{"bustBufferWad":{"type":"string","description":"Scaled by 1e18 (WAD).","examples":["10000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"liqBountyBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxAccountNotional":{"type":"string","examples":["1000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxBlockNotional":{"type":"string","examples":["1000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxLeverage":{"type":"string","examples":["50n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxPositionNotional":{"type":"string","examples":["1000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxTxNotional":{"type":"string","examples":["1000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"minLeverage":{"type":"string","examples":["1n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"minMargin":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"minNotional":{"type":"string","examples":["1000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"SeasonAchievementDef":{"type":"object","required":["suffix","name","xp"],"properties":{"name":{"type":"string"},"suffix":{"type":"string"},"xp":{"type":"string","examples":["1250n"],"pattern":"^(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"SecondLevelReferee":{"type":"object","description":"A referee of one of the address's direct referees (`as_referrer.second_level[]`).","required":["address","via","boundAtMs"],"properties":{"address":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"boundAtMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"via":{"type":"string","description":"The direct referee it is bound to."}},"additionalProperties":false},"SenderInput":{"type":"object","description":"`open-account`, `claim` (staking rewards), `exit-early`: the sender only.","required":["sender"],"properties":{"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"SessionState":{"type":"string","description":"Session state of an equity market.","enum":["open","closed","draining"]},"SetBuilderCreateFeeInput":{"allOf":[{"$ref":"#/components/schemas/SenderInput"},{"$ref":"#/components/schemas/AuthorityCapInput"},{"type":"object","required":["amount"],"properties":{"amount":{"type":"string","examples":["1000000n"],"pattern":"^(0|[1-9][0-9]*)n$"}}}],"description":"Set the builder creation fee to 0..=100,000,000 USDC base units."},"SetBuilderFeeInput":{"type":"object","required":["sender","builderId","feeBps"],"properties":{"builderId":{"type":"string","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"feeBps":{"type":"string","description":"Basis points (1/10000).","examples":["8n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"SetBuilderPayoutInput":{"type":"object","description":"`set-builder-payout` (the sender must own the builder).","required":["sender","builderId","newPayout"],"properties":{"builderId":{"type":"string","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"newPayout":{"type":"string"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"SetTriggersRequest":{"type":"object","required":["owner","accountId","expiresAtMs","signature"],"properties":{"accountId":{"type":"string","description":"Account owned by the signer.","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"expiresAtMs":{"type":"string","description":"Proof expiry and monotonic revision time, Unix ms.","examples":["1796677200000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"isLong":{"type":["boolean","null"],"description":"Side signed for the open target."},"marketId":{"type":["string","null"],"description":"Market signed for the open target.","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"]},"openTxBytesBase64":{"type":["string","null"],"description":"BCS Transaction (padded standard base64) whose digest must equal open_tx_digest.\nRequired on open intents that set a leg so the service records the transaction's epoch\nbound (unbounded opens are refused); may be omitted on an open clear (both legs null);\nrefused on position targets."},"openTxDigest":{"type":["string","null"],"description":"Digest of the future open transaction.","examples":["x21Xc3621WJsDb7MdBCf9GZ9v9vh3UnWrdWRADfTKNCq"]},"owner":{"type":"string","description":"Wallet signing the personal message.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"positionId":{"type":["string","null"],"description":"Existing position; mutually exclusive with the open target fields.","examples":["1042n"],"pattern":"^(0|[1-9][0-9]*)n$"},"signature":{"type":"string","description":"Sui personal-message signature, base64."},"stopLossWad":{"type":["string","null"],"description":"SL price in exact 18 decimal WAD units; null clears it.","examples":["71500000000000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"takeProfitWad":{"type":["string","null"],"description":"TP price in exact 18 decimal WAD units; null clears it.","examples":["78000000000000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"ShortHoldDay":{"type":"object","required":["day","holds"],"properties":{"day":{"type":"string","description":"The settlement day.","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"holds":{"$ref":"#/components/schemas/ShortHolds"}}},"ShortHoldStats":{"type":"object","required":["thresholdMs","window","days","markets"],"properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/ShortHoldDay"}},"markets":{"type":"array","items":{"$ref":"#/components/schemas/MarketShortHolds"}},"thresholdMs":{"type":"string","description":"A hold shorter than this (ms) is short.","examples":["120000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"window":{"$ref":"#/components/schemas/ShortHolds","description":"Every market over the window (wallets counted once)."}}},"ShortHolds":{"type":"object","description":"Settlements held under `thresholdMs` (open Clock to settlement Clock) and their realized PnL (USDC): `profit` sums the wins' net (after trim, win fee and close toll), `loss` the price-move losses (losing closes, liquidations). Open fees are in neither.","required":["positions","wallets","profit","loss"],"properties":{"loss":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"positions":{"type":"string","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"profit":{"type":"string","examples":["42500000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"wallets":{"type":"string","description":"Distinct wallets (the positions' account owners, named on chain) with such a position.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}}},"Side":{"type":"string","description":"Side of a position.","enum":["long","short"]},"SideExposure":{"type":"object","description":"One side of a market against its caps.","required":["oi","lockedExposure"],"properties":{"depthBound":{"type":["boolean","null"],"description":"Thin depth, not the OI cap, bounds this side."},"depthCapacity":{"type":["string","null"],"description":"Largest side OI at which a minimum-notional open still meets the payout-factor floor.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"depthUtilBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["3200n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"exposureCap":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"exposureUtilBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["3200n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lockedExposure":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"oi":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"oiCap":{"type":["string","null"],"examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"oiUtilBps":{"type":["string","null"],"description":"Basis points (1/10000).","examples":["3200n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"SponsorExecuteRequest":{"type":"object","required":["txBytesBase64","signatures"],"properties":{"signatures":{"type":"array","items":{"type":"string"}},"txBytesBase64":{"type":"string"}}},"SponsorExecuted":{"type":"object","required":["digest","success","effectsBcsBase64","orderIds"],"properties":{"digest":{"type":"string","examples":["cgQt9nJzVJejFdAFSrw36bZHABJGw7sEWRF8Vd43uZnz"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"effectsBcsBase64":{"type":"string"},"orderIds":{"type":"array","items":{"type":"string","examples":["0x8a79598616df8d6e8de46f0234cf3d4e468c05fa00ed82fb783ecc43823555d1"],"pattern":"^0x[0-9a-f]{64}$"}},"success":{"type":"boolean"}}},"SponsorRequest":{"type":"object","description":"Sponsor request body.","required":["sender","txKindBase64","senderSignature","expiresAtMs"],"properties":{"expiresAtMs":{"type":"string","description":"Unix ms after which the service refuses the proof; at most 120 s after its clock.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","description":"The session key: a live delegate of the account the kind trades on.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"senderSignature":{"type":"string","description":"Base64 Ed25519 `UserSignature` by `sender` of the session proof personal message\n(`Parchment session-key sponsorship v1\\nsender: {sender}\\naccountId: {account}\\ntxKindSha256: {sha256}\\nexpiresAtMs: {expiresAtMs}`):\nthe `signature` `signPersonalMessage` returns."},"txKindBase64":{"type":"string","description":"Base64 transaction-kind bytes (the `txBytesBase64` of `/transactions/{action}`)."}},"additionalProperties":false},"SponsorSubmitConfig":{"type":"object","description":"What the browser needs to build a one-call sponsored trade.","required":["enabled","maxGasBudgetMist","oneStepMaxGasBudgetMist","maxTxGasBudgetMist","maxRetiredClosesPerTx","sponsoredActions"],"properties":{"chainId":{"type":["string","null"],"description":"The `ValidDuring` chain: base58 digest of the genesis checkpoint; null when submit is off.","examples":["0x495affe8b986bf31eeb0db4de90d088a4159141a60c8e2387ec6957d3b6f8f55"],"pattern":"^0x[0-9a-f]{64}$"},"enabled":{"type":"boolean","description":"Whether `POST /sponsor/submit` is on (the only field that says so). It can still answer\n`sponsor_unavailable`."},"epoch":{"type":["string","null"],"description":"The epoch a submit must be valid in (`ValidDuring` min and max); null when submit is off. Read the\nconfig again after `expired`.","examples":["912n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxGasBudgetMist":{"type":"string","description":"Gas budget ceiling (MIST) per request-open, request-close and cancel call.","examples":["50000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxRetiredClosesPerTx":{"type":"string","description":"Most retired closes one transaction may carry.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxTxGasBudgetMist":{"type":"string","description":"A transaction of N calls may budget N times its per-call ceiling, at most this (or the\nper-call ceiling when that is higher).","examples":["1000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"oneStepMaxGasBudgetMist":{"type":"string","description":"Gas budget ceiling (MIST) per emergency or retired close.","examples":["200000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"referenceGasPrice":{"type":["string","null"],"description":"The gas price a submit must carry (MIST); null when submit is off.","examples":["1000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sponsor":{"type":["string","null"],"description":"The gas owner every submit names (0x address); null when sponsorship is not configured.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"sponsoredActions":{"type":"array","items":{"$ref":"#/components/schemas/SponsoredAction"},"description":"The actions a submit may carry."}},"additionalProperties":false},"SponsorSubmitRequest":{"type":"object","description":"One-call sponsored trade body: the full `TransactionData` the session key built and signed.","required":["txBytesBase64","userSignature"],"properties":{"txBytesBase64":{"type":"string","description":"Base64 BCS `TransactionData`: the `*_as_delegate` kind, the session key as sender, the\nsponsor as gas owner with no gas objects, the reference gas price, a budget within the\naction's ceiling, and `ValidDuring` the current epoch on this chain (from\n`/sponsor/submit/config`)."},"userSignature":{"type":"string","description":"Base64 `UserSignature` of `txBytesBase64` by the session key (`signTransaction`)."}},"additionalProperties":false},"Sponsored":{"type":"object","description":"The sponsor-signed `TransactionData`.","required":["txBytesBase64","sponsorSignature","digest","sender","sponsor","action","gasMode","gasBudget","gasPrice","estimatedGas","validEpoch"],"properties":{"action":{"$ref":"#/components/schemas/SponsoredAction"},"digest":{"type":"string","examples":["cgQt9nJzVJejFdAFSrw36bZHABJGw7sEWRF8Vd43uZnz"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"estimatedGas":{"type":"string","description":"Simulated computation + storage (MIST), before the storage rebate.","examples":["3976000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"gasBudget":{"type":"string","examples":["50000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"gasMode":{"$ref":"#/components/schemas/GasMode"},"gasPrice":{"type":"string","examples":["750n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"sponsor":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"sponsorSignature":{"type":"string","description":"Base64 sponsor `UserSignature`; execute with `[user_signature, sponsor_signature]`."},"txBytesBase64":{"type":"string","description":"Base64 BCS `TransactionData` the wallet signs as-is."},"validEpoch":{"type":"string","description":"The only epoch the transaction can execute in.","examples":["912n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"SponsoredAction":{"type":"string","description":"A transaction action the sponsor pays gas for.","enum":["request-open","request-open-as-delegate","request-close","request-close-as-delegate","cancel-order","cancel-order-as-delegate","emergency-close","emergency-close-as-delegate","close-retired","close-retired-as-delegate"]},"SponsoredFlowBuildRequest":{"type":"object","description":"Sponsored flow build body: the wallet and its transaction kind.","required":["sender","txKindBase64"],"properties":{"sender":{"type":"string","description":"The wallet (0x address); it signs the built transaction.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"txKindBase64":{"type":"string","description":"Base64 `TransactionKind` bytes of the flow's PTB (built with `onlyTransactionKind`)."}},"additionalProperties":false},"SponsoredFlowBuilt":{"type":"object","description":"A sponsor-paid transaction for the wallet to sign.","required":["txBytesBase64","digest","feeUsdc","expiresAtMs"],"properties":{"digest":{"type":"string","examples":["cgQt9nJzVJejFdAFSrw36bZHABJGw7sEWRF8Vd43uZnz"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"expiresAtMs":{"type":"string","description":"Unix ms after which to build again (advisory: the bytes stay executable until their epoch ends).","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"feeUsdc":{"type":"string","description":"The fee (USDC base units) the transaction pays.","examples":["50000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"txBytesBase64":{"type":"string","description":"Base64 BCS `TransactionData` (the sponsor pays gas) the wallet signs as-is."}},"additionalProperties":false},"SponsoredFlowConfig":{"type":"object","description":"A sponsored flow's terms.","required":["enabled","feeUsdc","maxGasMist"],"properties":{"enabled":{"type":"boolean","description":"Whether the service sponsors this flow now."},"feeRecipient":{"type":["string","null"],"description":"The address the fee goes to; null when sponsorship is not configured.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"feeUsdc":{"type":"string","description":"The flat fee (USDC base units) the transaction sends to `feeRecipient`.","examples":["50000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxGasMist":{"type":"string","description":"The most gas (MIST) the sponsor pays for one transaction.","examples":["80000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"minDepositUsdc":{"type":["string","null"],"description":"The smallest deposit (USDC base units) the transaction may make; null for withdraw.","examples":["1000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sponsor":{"type":["string","null"],"description":"The sponsor (gas owner) address; null when sponsorship is not configured.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"}},"additionalProperties":false},"SponsoredFlowExecuteRequest":{"type":"object","description":"Sponsored flow execution body: the built transaction and the wallet's signature of it.","required":["txBytesBase64","userSignature"],"properties":{"txBytesBase64":{"type":"string","description":"`txBytesBase64` of the flow's build, unchanged."},"userSignature":{"type":"string","description":"Base64 `UserSignature` of `txBytesBase64` by the sender."}},"additionalProperties":false},"SponsoredFlowExecuted":{"type":"object","description":"A sponsored transaction sent to the network.","required":["digest"],"properties":{"digest":{"type":"string","examples":["cgQt9nJzVJejFdAFSrw36bZHABJGw7sEWRF8Vd43uZnz"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}},"additionalProperties":false},"SponsoredFlowState":{"type":"string","description":"Where a sponsored transaction is.","enum":["pending","success","failure"]},"SponsoredFlowStatus":{"type":"object","description":"A sponsored transaction's state.","required":["status"],"properties":{"error":{"type":["string","null"],"description":"Why it failed (`failure` only); absent otherwise."},"status":{"$ref":"#/components/schemas/SponsoredFlowState"}},"additionalProperties":false},"SpreadSource":{"type":"string","description":"What the spread of a price was built from.","enum":["floor","market-latest"]},"StakeInput":{"type":"object","description":"`stake`.","required":["sender","coin"],"properties":{"coin":{"$ref":"#/components/schemas/ObjectRef","description":"The `Coin<PARCHMENT>` staked."},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"Staker":{"type":"object","description":"A wallet's stake (zeros without one).","required":["owner","staked","rewardDebt","stakedAtMs","unlockAtMs","locked","pendingReward","pendingRewardExact","parchPending","nowMs","lockedWeight","lockedSyncedBalance","lockedPending","lockedOwed","totalWeight"],"properties":{"locked":{"type":"boolean","description":"Staked and `now_ms < unlock_at_ms`."},"lockedOwed":{"type":"string","description":"Of `lockedPending`, what syncs already moved to the owner's owed balance.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lockedPending":{"type":"string","description":"USDC the locked weight earned to `now_ms`, owed part included.\nThe claim pays `pendingReward + lockedPending`.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lockedSyncedBalance":{"type":"string","description":"The finalized locked and vesting balance that weight was set from; a later ledger change\ncounts after the next sync.","examples":["25000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lockedWeight":{"type":"string","description":"Locked weight as of the owner's last locked-balance sync.","examples":["25000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"nowMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"owner":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"parchPending":{"type":"string","description":"PARCHMENT forfeit rewards owed at `now_ms`, paid on the next stake, unstake or claim.","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pendingReward":{"type":"string","description":"Rewards claimable at `nowMs`.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"pendingRewardExact":{"type":"boolean","description":"False when `pending_reward` is an estimate until the owner's debt is re-based."},"rewardDebt":{"type":"string","description":"A plain decimal string (too large for an n-suffixed integer).","examples":["1250318874012553600000000"]},"staked":{"type":"string","examples":["25000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stakedAtMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"totalWeight":{"type":"string","description":"`staked + lockedWeight`: the owner's share of the USDC reward index.","examples":["25000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"unlockAtMs":{"type":"string","description":"When the stake unlocks, ms.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"StakingDay":{"type":"object","description":"Exact rewards and average stake for one UTC day, computed by the service.","required":["dayMs","fromMs","toMs","observedMs","final","rewardUsdc","rewardParchment","avgStake","avgWeight"],"properties":{"aprWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["120000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"avgStake":{"type":"string","examples":["25000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"avgWeight":{"type":"string","description":"Stake plus locked weight, averaged the same way (the USDC rewards' denominator).","examples":["25000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"dayMs":{"type":"string","description":"Milliseconds.","examples":["1796601600000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"final":{"type":"boolean"},"fromMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"observedMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"parchmentUsdWad":{"type":["string","null"],"description":"Scaled by 1e18 (WAD).","examples":["40000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"rewardParchment":{"type":"string","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"rewardUsdc":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"toMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"StakingHistory":{"type":"object","description":"The window's staking APR/APY, its inputs and the snapshots it\nwas computed from. Rates are x 1e18 (`aprWad` 1e17 is 10%).","required":["days","partial","annualized","fromMs","toMs","observedMs","rewardUsdc","rewardParchment","avgStake","avgWeight","points","daily"],"properties":{"annualized":{"type":"boolean","description":"True only when a partial window produced an APR (scaled from a shorter span)."},"aprWad":{"type":["string","null"],"description":"APR x 1e18; null without a stake, a span or a quote to value it.","examples":["120000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"apyWad":{"type":["string","null"],"description":"APY x 1e18 (the APR compounded); null with the APR.","examples":["130000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"avgStake":{"type":"string","description":"Time-weighted stake over the window (PARCHMENT base units).","examples":["25000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"avgWeight":{"type":"string","description":"Time-weighted stake plus locked weight: the USDC rewards' denominator (the PARCHMENT\ndrip's is `avgStake`).","examples":["25000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"daily":{"type":"array","items":{"$ref":"#/components/schemas/StakingDay"}},"days":{"type":"string","description":"`\"7\"`, `\"30\"`, `\"90\"` or `\"all\"`, as requested.","examples":["7"]},"fromMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"observedMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"parchmentUsdSource":{"type":["string","null"],"description":"The quote's source identifier; null without a quote."},"parchmentUsdTsMs":{"type":["string","null"],"description":"When the quote was read; null without one.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"parchmentUsdWad":{"type":["string","null"],"description":"The cached PARCHMENT/USD DEX quote: USD per whole PARCHMENT x 1e18; null without one.","examples":["40000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"partial":{"type":"boolean","description":"No snapshot at or before the window start, or an empty observed span."},"points":{"type":"array","items":{"$ref":"#/components/schemas/StakingHistoryPoint"},"description":"The snapshots in the window, ascending by time."},"rewardParchment":{"type":"string","description":"PARCHMENT vested to stakers over the window (base units, 9 decimals).","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"rewardUsdc":{"type":"string","description":"USDC vested to stakers over the window (base units, 6 decimals).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"toMs":{"type":"string","description":"The request time.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"windowMs":{"type":["string","null"],"description":"The window length; null for `all`.","examples":["604800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"StakingHistoryPoint":{"type":"object","description":"One staking pool snapshot.","required":["tsMs","totalStaked","rewardsVestedUsdc","parchDripVested"],"properties":{"parchDripVested":{"type":"string","description":"PARCHMENT penalty drip vested to stakers so far (base units).","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"parchmentUsdWad":{"type":["string","null"],"description":"USD per whole PARCHMENT x 1e18 at the snapshot; null when it had no quote.","examples":["40000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"rewardsVestedUsdc":{"type":"string","description":"USDC vested to stakers so far (base units, 6 decimals).","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"totalStaked":{"type":"string","description":"PARCHMENT base units (9 decimals).","examples":["4200000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"tsMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"StakingPool":{"type":"object","description":"The staking pool and its reward stream, projected to `now_ms`.","required":["poolId","totalStaked","accRewardPerShare","streamRemaining","streamLastMs","streamEndMs","streamVestedNow","rewardStreamMs","minStakeLockMs","rewards","referralReserve","nowMs","parchDripRemaining","parchDripNow","parchDripLastMs","parchDripEndMs","totalWeight","lockedWeight","lockedOwedTotal"],"properties":{"accRewardPerShare":{"type":"string","description":"A plain decimal string (too large for an n-suffixed integer).","examples":["1250318874012553600000000"]},"configId":{"type":["string","null"],"examples":["0xd3130ac108d621be0d73cb8f130ea4dca14f52512c4d06bf48610067098e93e1"],"pattern":"^0x[0-9a-f]{64}$"},"lockedOwedTotal":{"type":"string","description":"Locked yield moved to owners' owed balances and not yet paid.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lockedWeight":{"type":"string","description":"Weight of locked and vesting PARCHMENT (`lockedWeightBps` of it), as of each owner's last\nsync. It earns USDC only (no PARCHMENT drip, no referral bonus).","examples":["25000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"lockedWeightBps":{"type":["string","null"],"description":"Locked weight per PARCHMENT in bps; null on a pool without locked yield.","examples":["5000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxMinStakeLockMs":{"type":["string","null"],"description":"Milliseconds.","examples":["604800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxRewardStreamMs":{"type":["string","null"],"description":"The largest `rewardStreamMs` / `minStakeLockMs` an admin may set\n(`staking::set_duration_caps`; 30 days by default). Omitted by older services.","examples":["604800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"minStakeLockMs":{"type":"string","description":"Milliseconds.","examples":["604800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"nowMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"parchDripEndMs":{"type":"string","description":"Projected end of the drip (moved forward while nobody stakes).","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"parchDripLastMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"parchDripNow":{"type":"string","description":"`parch_drip_remaining` projected to `now_ms`.","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"parchDripRemaining":{"type":"string","description":"Swept early-exit penalties dripping to stakers, as of the last accrual.","examples":["1500000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"parchmentUsdSource":{"type":["string","null"]},"parchmentUsdTsMs":{"type":["string","null"],"description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"parchmentUsdWad":{"type":["string","null"],"description":"Cached PARCHMENT/USD quote, null when unavailable.","examples":["40000000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"poolId":{"type":"string","examples":["0x37420918de237b6a324e834c387ef35ccae6f9f64ff9cbf770aa39702af7ad11"],"pattern":"^0x[0-9a-f]{64}$"},"referralReserve":{"type":"string","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"rewardStreamMs":{"type":"string","description":"Milliseconds.","examples":["604800000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"rewards":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"streamEndMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"streamLastMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"streamRemaining":{"type":"string","description":"Unvested staker rewards as of the last accrual.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"streamVestedNow":{"type":"string","description":"Rewards vested between `stream_last_ms` and `now_ms`.","examples":["1850000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"totalStaked":{"type":"string","examples":["4200000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"totalWeight":{"type":"string","description":"The USDC reward index's shares: `totalStaked` plus `lockedWeight`.","examples":["25000000000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"StatsActivity":{"type":"object","description":"Daily per-market volume, liquidations and fills and collateral\ndeposits vs withdrawals, one row per UTC day (`ms / 86_400_000`) with since-launch totals.","required":["nowMs","fromDay","toDay","complete","markets","collateral"],"properties":{"collateral":{"$ref":"#/components/schemas/CollateralActivity"},"complete":{"type":"boolean","description":"The rows cover every indexed event (false while the service folds older history)."},"fromDay":{"type":"string","description":"First and last day of every `days` series.","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"markets":{"type":"array","items":{"$ref":"#/components/schemas/MarketActivity"}},"nowMs":{"type":"string","description":"Milliseconds.","examples":["1796677200000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"toDay":{"type":"string","examples":["20794n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"StopLossDropped":{"type":"object","required":["reason","ms","wad"],"properties":{"ms":{"type":"string","description":"Time recorded by the service, Unix ms.","examples":["1796677200000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"reason":{"type":"string","description":"Stable explanation code: past_liquidation."},"wad":{"type":"string","description":"Requested stop in WAD units.","examples":["74250000000000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"SweepInput":{"type":"object","description":"`sweep` (order keepers only: the public route answers 403 `keeper_only`).","required":["sender","marketId"],"properties":{"marketId":{"type":"string","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"maxEntries":{"type":["string","null"],"description":"1 to 8; the service defaults to 8.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]},"updateBase64":{"type":["string","null"]}}},"SweepParams":{"type":"object","description":"Sweep policy.","required":["floorBps","maxBps","intervalMs","capBps","cashFloor","stakerBps","treasuryBps","growthBps"],"properties":{"capBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"cashFloor":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"floorBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"growthBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"intervalMs":{"type":"string","description":"Milliseconds.","examples":["3600000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"maxBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"stakerBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"treasuryBps":{"type":"string","description":"Basis points (1/10000).","examples":["2000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"TierDef":{"type":"object","required":["key","name","minLevel","minXp","tagline","stamp"],"properties":{"key":{"type":"string"},"minLevel":{"type":"string","examples":["4n"],"pattern":"^(0|[1-9][0-9]*)n$"},"minXp":{"type":"string","examples":["1250n"],"pattern":"^(0|[1-9][0-9]*)n$"},"name":{"type":"string"},"stamp":{"type":"string"},"tagline":{"type":"string"}},"additionalProperties":false},"TimingParams":{"type":"object","description":"Timing parameters of a market.","required":["minHoldMs"],"properties":{"minHoldMs":{"type":"string","description":"Milliseconds.","examples":["120000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"TotalOwedSource":{"type":"string","description":"Where `total_owed` comes from.","enum":["object","enqueued_nets"]},"TradeKind":{"type":"string","description":"A trade activity kind.","enum":["open","close","liquidate"]},"TradingReferral":{"type":"object","required":["refereeCount","totalEarned","pending"],"properties":{"pending":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"refereeCount":{"type":"string","description":"Wallets bound to this one as their referrer.","examples":["24n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"referrer":{"type":["string","null"],"description":"The wallet's referrer; null when unbound.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"totalEarned":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"}},"additionalProperties":false},"TransferAccountInput":{"allOf":[{"$ref":"#/components/schemas/AccountInput"},{"type":"object","required":["recipient"],"properties":{"recipient":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]}}}]},"TransferBuilderInput":{"type":"object","required":["sender","builderId","newOwner"],"properties":{"builderId":{"type":"string","examples":["7n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"newOwner":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"TriggerView":{"type":"object","required":["accountId","owner","marketId","isLong","status"],"properties":{"accountId":{"type":"string","description":"Owning account.","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"],"pattern":"^0x[0-9a-f]{64}$"},"firing":{"type":["boolean","null"],"description":"A signed close may still execute; edits are fenced until resolved."},"firingEtaMs":{"type":["string","null"],"description":"Best known end of the epoch validity window, Unix ms; absent if unavailable.","examples":["1796677200000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"firingKind":{"type":["string","null"],"description":"Leg currently submitting, tp or sl."},"firingMaxEpoch":{"type":["string","null"],"description":"Last epoch in which the saved close may execute; resolved when chain epoch exceeds it.","examples":["912n"],"pattern":"^(0|[1-9][0-9]*)n$"},"isLong":{"type":"boolean","description":"Position direction."},"marketId":{"type":"string","description":"Market for both legs.","examples":["0x6e6238eb4f69bfcc3e884a7d20904eb0995ca2e42c95dc8560d5a417486ab645"],"pattern":"^0x[0-9a-f]{64}$"},"owner":{"type":"string","description":"Wallet owner.","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"],"pattern":"^0x[0-9a-f]{64}$"},"paused":{"type":["boolean","null"],"description":"Missing close grant pauses evaluation while retaining the legs."},"positionId":{"type":["string","null"],"description":"Position once the open attaches.","examples":["1042n"],"pattern":"^(0|[1-9][0-9]*)n$"},"status":{"type":"string","description":"pending, attached, armed, idle, firing, submitted, fired, closed or void.","enum":["pending","attached","armed","idle","firing","submitted","fired","closed","void"]},"stopLossDropped":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StopLossDropped","description":"Stop rejected against the actual fill's liquidation price."}]},"stopLossWad":{"type":["string","null"],"description":"Armed SL WAD.","examples":["71500000000000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"takeProfitWad":{"type":["string","null"],"description":"Armed TP WAD.","examples":["78000000000000000000n"],"pattern":"^(0|[1-9][0-9]*)n$"},"voidReason":{"type":["string","null"],"description":"Terminal reason for a recent void open intent."}},"additionalProperties":false},"Triggers":{"type":"object","required":["triggers"],"properties":{"nextCursor":{"type":["string","null"],"description":"Opaque cursor of the next page (pass it as `cursor`); null on the last page."},"triggers":{"type":"array","items":{"$ref":"#/components/schemas/TriggerView"},"description":"Trigger rows; unsent open digests are omitted."}},"additionalProperties":false},"UnstakeInput":{"type":"object","description":"`unstake`.","required":["sender","amount"],"properties":{"amount":{"type":"string","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}},"WithdrawInput":{"allOf":[{"$ref":"#/components/schemas/AccountCapInput"},{"type":"object","required":["sender","accountId","amount"],"properties":{"accountId":{"type":"string","examples":["0xad23e722f3542ae36c276c1b303e30ae77c840a84db89c7215fa87bf92006691"]},"amount":{"type":"string","description":"Base units.","examples":["100000000n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"sender":{"type":"string","examples":["0x77b909b550ed11c45f1378c03c0954c0d77d320cdc938e35509564b1e505ce0d"]},"shared":{"type":["object","null"],"description":"Optional initial shared versions of the shared objects the transaction uses, keyed by object id (0x hex); each value is the object's initial shared version (n-suffixed). Given versions are used instead of the ones the service reads from its index or the chain. Omit or null to let the service resolve them.","additionalProperties":{"type":"string","examples":["412233118n"],"pattern":"^-?(0|[1-9][0-9]*)n$"},"examples":[{"0x0000000000000000000000000000000000000000000000000000000000000006":"1n"}]}}}],"description":"`withdraw`."},"positions.Side":{"type":"string","enum":["long","short"]}}},"security":[],"tags":[{"name":"markets","description":"Markets and the synthetic order book","x-displayName":"Markets"},{"name":"prices","description":"Storage price reads and the display-only live price stream","x-displayName":"Prices"},{"name":"accounts","description":"Accounts, open positions, and history","x-displayName":"Accounts"},{"name":"lp","description":"LP equity and the FIFO claim queue","x-displayName":"House pool (LP)"},{"name":"queue","description":"FIFO payout queue length, instantly payable cash, and a wallet's rank","x-displayName":"Payout queue"},{"name":"staking","description":"Staking pool and per-staker views","x-displayName":"Staking"},{"name":"referrals","description":"Referral binds and estimated bonuses","x-displayName":"Referrals"},{"name":"orders","description":"Keeper-filled two-step order requests","x-displayName":"Orders"},{"name":"previews","description":"Open and close previews","x-displayName":"Previews"},{"name":"builders","description":"Builder codes, ownership, status, on-top fees, and approvals","x-displayName":"Builder codes"},{"name":"game","description":"Game state, leaderboards, feeds, and PnL cards","x-displayName":"Game"},{"name":"transactions","description":"Transaction-kind builders, gas sponsorship of two-step order transactions, and sponsored account setup, deposits and withdrawals","x-displayName":"Transactions"},{"name":"protocol","description":"Config, protocol summary, and API limits","x-displayName":"Protocol"},{"name":"stats","description":"Protocol monitoring: mint cap, payout queue, side exposure, fee split, fill price age, and short-hold PnL by day; daily activity: per-market volume, liquidations and fills, collateral deposits vs withdrawals, with since-launch totals","x-displayName":"Stats"}]}