cancel request may arrive before the order is recorded and return an error ("Order was never placed, already canceled, or filled"). The noop action is designed for exactly this window: it marks the nonce as used without performing any trade, so a subsequent order carrying that nonce is rejected by the exchange.
What noop does
According to the Hyperliquid exchange endpoint documentation, the noop action consumes a nonce. Because every signed action on Hyperliquid requires a unique nonce, burning the nonce prevents any action signed with that value from being accepted later. For an order that is still propagating, this can be more effective than attempting a cancel, which requires the order to already exist in the book.
noop does not cancel orders that have already reached resting state. Use the standard cancel or cancelByCloid actions for those.
Request structure
The empty signature object below is a placeholder for a correctly generated signature. This is an illustrative request shape, not a ready-to-submit signed request.
All exchange actions are submitted as a POST to https://api.hyperliquid.xyz/exchange.
Like what you're reading? Try it yourself โ this link supports ChartedTrader at no cost to you.
Trade on Hyperliquid and get a 4% fee discount on your first $25M of volume (Vaults and sub-accounts excluded) โ
{
"action": {
"type": "noop"
},
"nonce": 1731312000000,
"signature": {}
}
| Field | Type | Description |
|---|---|---|
action.type | String | "noop" |
nonce | Number | The nonce you want to mark as used. Recommended: current timestamp in milliseconds. |
signature | Object | EIP-712 signature. See the Python SDK for signing helpers. |
vaultAddress field may be included if acting on behalf of a subaccount or vault โ signing must be done by the master account in that case.
When to use noop
- You submitted an order and want to prevent it from landing before it reaches the book.
- A retry loop sent the same signed payload more than once and you need to invalidate one copy.
- Nonce management in automated systems where out-of-order delivery is possible.
noop has no effect on it. Check the open orders state via the info endpoint and use cancel or cancelByCloid for resting orders.
Nonce guidance
The documentation recommends using the current timestamp in milliseconds as the nonce. If you are invalidating a specific in-flight nonce, pass that exact nonce value in the noop request.
Related actions
cancelโ cancels a resting order by asset and order ID; see the scheduleCancel dead man's switch guide for bulk cancel scheduling.cancelByCloidโ cancels by client order ID instead of exchange-assigned OID.scheduleCancelโ schedules a cancel-all at a future timestamp (maximum 10 triggers per day, resets at 00:00 UTC).
*Using the Hyperliquid referral link above gives you a 4% fee discount on your first $25M of trading volume. Vaults and sub-accounts are excluded from this discount. This article may earn a referral commission at no cost to you.*