Skip to main content
The Hyperliquid provider exposes trading operations in the actions array from GET /providers. Each action lists which signers can execute it. For account setup actions (prepareAccountActions), see Prerequisites. For full parameter schemas, see the Actions API reference.

actions

These are returned in the actions array and are used for ongoing trading operations after account setup is complete.

placeOrder

Places a new order — market, limit, or with attached take-profit/stop-loss triggers. If the requested leverage differs from the current setting, the backend automatically prepends an updateLeverage action step.
SignersUSER, AGENT
ParamsPlaceOrderParams{ asset, side, type?, size, price?, leverage?, reduceOnly?, timeInForce?, expiresAt?, takeProfit?, stopLoss? }
SDK methodsplaceOrder() (USER_AGENT), buildOrder() + submitSignedOrder() (USER)

placeTriggerOrder

Places standalone take-profit and/or stop-loss triggers on an existing position, independent of a new order. The trigger size is determined by the current position.
SignersUSER, AGENT
ParamsPlaceTriggerOrderParams{ asset, side, takeProfit?, stopLoss? }
SDK methodsplaceTriggerOrder() (USER_AGENT), buildTriggerOrder() (USER)

cancelOrder

Cancels one or more open orders or trigger orders by ID.
SignersUSER, AGENT
ParamsCancelOrderParams{ ids }
SDK methodscancelOrders() (USER_AGENT), buildCancelOrder() (USER)

modifyOrder

Modifies existing orders in-place — change price, size, or trigger parameters without cancelling and re-placing.
SignersUSER, AGENT
ParamsModifyOrderParams{ modifications: [{ id, price?, size?, triggerPrice?, limitPrice? }] }
SDK methodsmodifyOrders() (USER_AGENT), buildModifyOrder() (USER)

updateLeverage

Changes the leverage setting for an asset. This affects new orders and existing positions on that asset.
SignersUSER, AGENT
ParamsUpdateLeverageParams{ asset, leverage }
NoteUsually generated automatically by placeOrder when the requested leverage differs from current

updatePositionMargin

Adds or removes margin on an isolated position. Use this to adjust liquidation price without changing the position size.
SignersUSER, AGENT
ParamsUpdatePositionMarginParams{ asset, action: 'add' | 'remove', amount }
SDK methodsupdatePositionMargin() (USER_AGENT), buildPositionMargin() (USER)

withdrawal

Withdraws USDC from the Hyperliquid account to an Arbitrum address via the Hyperliquid L1 -> Arbitrum bridge. Processing typically takes 3-4 minutes. Under unifiedAccount mode, funds are drawn from the spot USDC balance.
SignersUSER (agents cannot initiate withdrawals)
ParamsWithdrawalParams{ destination, amount }
SDK methodsbuildWithdrawal() + submitWithdrawal()

sendAsset

Transfers collateral between Hyperliquid sub-exchanges (HIP-3 providers). For example, moving USDC from the default venue to the xyz venue, or between any two markets within the provider.
SignersUSER (agents cannot transfer assets)
ParamsSendAssetParams{ collateral, sourceDex, destinationDex, amount }
NoteUnder unifiedAccount mode, like-for-like quote assets are already shared — this is primarily useful for transfers between markets with different quote assets

markets

The markets array on the provider lists all sub-markets. Each market’s id is used as the market field in AssetIdentity:
Market IDQuote AssetDescription
hyperliquidUSDCDefault perpetuals venue
xyzUSDCHIP-3 perpetuals
flxUSDHHIP-3 perpetuals (USDH-quoted)
vntlUSDHHIP-3 perpetuals (USDH-quoted)
hynaUSDEHIP-3 perpetuals (USDE-quoted)
kmUSDHHIP-3 perpetuals (USDH-quoted)
abcdUSDCHIP-3 perpetuals
cashUSDT0HIP-3 perpetuals (USDT0-quoted)
paraUSDCHIP-3 perpetuals
spotSpot market (no quote asset)
This list changes as new HIP-3 providers launch. Always use the live GET /providers response to get the current set of markets.