Names
Units are in the name
A contract pays $1 if it settles yes. Stake = contracts × cents ÷ 100. Orders fill whole or not at all; there are no partial fills.
Paper accounts
Every account starts with 100,000 paper dollars and the balance carries over. A reset (at most one every 30 days) returns cash to 100,000 and starts a new run;run counts resets and is 0 until the first. Lifetime profit counts every run, so a reset never lifts a rank.
Identifiers
Store ids as strings. Never infer meaning from their contents.
Responses
- Every keyed response body includes
"mode": "paper". - Create answers
201. Revoke answers200with the updated resource. - Key management,
GET /meand every error areCache-Control: no-store. Successful records reads areCache-Control: private, max-age=30. - A method a path does not serve answers
405 method_not_allowedwith anAllowheader. - No streaming under a key. Poll.
Headers
GET /openapi.json is CDN-cached and carries neither the request id nor rate headers.
Identify your client
Sendx-arena-client: yourapp/1.2.0 or a descriptive User-Agent. Not enforced today; it lets Arena warn an outdated client instead of breaking it.
Versioning
The version is in the path. Withinv1, changes are additive: new endpoints and optional fields, never a rename or removal. A breaking change ships as /api/v2, with v1 kept at least 180 days. See the changelog.