Trading

Atomically cancel an existing order and place a new one.

Native combos use one atomic replacement command and preserve the old parent when the new package is rejected. For the legacy outright path, the old order is canceled first. If the cancel fails (order not found, already filled), the new order is NOT placed and the endpoint returns an error. If the cancel succeeds, the new order is placed in the same engine tick with no gap.

put/order

Request

  • Base URL: https://testnet-api.hypercall.xyz
  • URL: https://testnet-api.hypercall.xyz/order
  • Auth: HTTP bearer

Request body

builder_code_addressstring nullable

Optional builder code address for fee rebates

client_idstring nullable

Optional client-provided order ID for the new order

mmp_enabledboolean
nonceinteger required
order_idinteger required

ID of the order to cancel

pricestring required

New order price as string (must match signed value exactly)

reduce_onlyboolean
side'Buy' | 'Sell' required

Order side (buy or sell).

signaturestring required
sizestring required

New order size as string (must match signed value exactly)

symbolstring required

New order symbol

tif'gtc' | 'ioc' | 'fok'

Time in force for orders.

walletstring required

Response

Replace result (new order status)

filled_sizestring required

Amount filled so far

mmp_triggeredboolean

Whether MMP triggered this update

order_idinteger nullable

Exchange-assigned order ID

reasonstring nullable

Reason for rejection or cancellation

request_idstring nullable

Request ID for correlating this update with the original command. Populated from the triggering OrderActionMessage's request_id.

status'ACKED' | 'OPEN' | 'PARTIALLY_FILLED' | 'FILLED' | 'CANCELED' | 'REJECTED' required

Order update status (used in order update messages).

timestampinteger required

Timestamp in milliseconds

wallet_addressstring required

Wallet address

Changes

No recorded changes to this operation across all 1 revision of this API.