API Update
Initial invitation qualification now uses lifetime personal trading volume.Endpoints:
POST /user/invitation-codes/job, GET /user/referrals/notional-volume.Creators receive their initial five invitations after reaching $100,000 of all-time personal trading volume, including subaccounts, rather than volume in the last 14 days. The qualification responses add self_lifetime_notional_volume; existing self_notional_volume remains the 14-day value. Referred volume does not count toward initial qualification. Existing grants and recurring invitation rules are unchanged.Docs Update
REST API release notes now follow production deployments.Public REST API changes now appear in the REST API changelog after the corresponding API revision is available in production. The reference is rebuilt from the production OpenAPI document with each tracked release.
Breaking Change
Builder Web3 signed messages now link to the QFEX Client Agreement.Endpoints:
GET /builder/web3/message, POST /builder/web3/api-key.The legal consent statement includes https://docs.qfex.com/legal/client-agreement beside the Client Agreement. Key issuance requires the updated statement, including this link.Migration: Request and sign a fresh message from GET /builder/web3/message. Submit that string unchanged to POST /builder/web3/api-key; messages without the agreement link are rejected.Breaking Change
Builder Web3 registration now includes legal consent and an Arbitrum withdrawal address.Endpoints:
GET /builder/web3/message, POST /builder/web3/api-key.The signed message now authorizes a trading API key and includes acceptance of the QFEX Client Agreement, Privacy Policy, and Cookie Policy. Messages without this consent are rejected. Successful key issuance records the acceptance date and registers the verified wallet address on ARBITRUM_ONE without duplicating an existing address.Migration: Request a fresh message from GET /builder/web3/message and sign the returned string unchanged before submitting it to POST /builder/web3/api-key. Clients that construct messages themselves must include the updated consent statement.Market Data Update
market_stats wildcard subscriptions (symbols: ["*"]) now receive all-symbol snapshots every 10 seconds. Named-symbol subscriptions continue to update once per second. An initial snapshot is sent on subscription when data is available.The Market Stats reference and MDS Playground schema now document funding rates, rolling 24-hour traded quantity, and rolling 24-hour USD notional volume.Breaking Change
modify_order now requires the reduce_only field. It must match the order being modified, as a modify cannot change reduce-only.Requests that omit it are rejected with InvalidJSONFormat, and a value that does not match the resting order is rejected with CANNOT_MODIFY_NO_SUCH_ORDER.See here for further detailsDocs Update
Docs Update
Docs Update
Added the
fills channel and fill response payload documentation.See here for further detailsDocs Update
Updated order response to include trade_id. This is used for order responses with a status of FILLED, it provides the unique trade id of that fill.See here for further details
Docs Update
Docs Update
Added Close Position request.See here for further detailsThis is only intended for use in the frontend as a quick way to close a position.
Docs Update