Place an order
POST /api/v1/compute/commands · scope trade
The body is an envelope with your request_id and one command. Use a fresh UUID per request.
A sell is refused before it reaches the exchange when it exceeds what you hold free: contracts in a resting sell or locked by a deployment don’t count.
Results
200 with the exchange’s answer, whatever it was:
Rejection messages you may see:
HTTP errors:
400 with code: invalid_command when the body is not an object; 401/403 as in Authentication; 503 when the exchange is unreachable.
Cancel an order
Same endpoint, a different command:REJECTED with order is not open when the order has filled, was cancelled, or isn’t yours.
Reading the book and your orders
The order book, your positions, open orders and fills are what the app’s Markets, contract and Home pages show. These reads are session-only today and are coming to the API. Your fills show on the app’s Transactions page as Buy and Sell rows on the Exchange rail, and Home’s Orders tab lists what is resting.GET /api/v1/transactions covers money movements only.