Hyperliquid Place Order
Place a limit order on Hyperliquid perpetual DEX. Supports GTC (good-til-cancelled), IOC (immediate-or-cancel), and ALO (post-only) order types. Ideal for: automated trading strategies, DCA bots, and portfolio rebalancing.
Catalog action Hyperliquid wallet
Place a limit order on Hyperliquid perpetual DEX. Supports GTC (good-til-cancelled), IOC (immediate-or-cancel), and ALO (post-only) order types. Ideal for: automated trading strategies, DCA bots, and portfolio rebalancing.
This action can require a wallet connector, gas, token movement, or an external side effect. Test with simulation or a controlled amount before using it in a live workflow.
At a Glance
| Field | Value |
|---|---|
| Action ID | hyperliquid-place-order |
| Category | Hyperliquid |
| Connector | wallet |
| Requires gas | No |
| Funds movement | None declared |
| Tags | hyperliquid, perps, order, trade, defi |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
dex | string | No | HIP-3 DEX name for TradFi markets. Omit for standard crypto perps. xyz = trade.xyz (stocks, indices, commodities), flx = flx.finance, vntl = vntl.exchange |
coin | string | Yes | Asset symbol (e.g., BTC, ETH for crypto; TSLA, SP500 for HIP-3 DEX markets) |
side | string | Yes | Order direction |
size | string | Yes | Order size in asset units (e.g., '0.1' for 0.1 BTC). Total order value (size × price) must be at least $10. |
price | string | Yes | Limit price in USD. Total order value (size × price) must be at least $10. |
orderType | string | Yes | Order type: limit (GTC), ioc (immediate-or-cancel), alo (add-liquidity-only / post-only) |
reduceOnly | boolean | No | If true, order can only reduce an existing position |
cloid | string | No | Optional client order ID for tracking (hex string, max 16 bytes) |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
status | string | Yes | Order outcome: resting (on book), filled (immediately matched), error |
oid | number | No | Hyperliquid order ID (present for resting and filled orders) |
filledSize | string | No | Total filled size (for filled orders) |
avgPrice | string | No | Average fill price (for filled orders) |
coin | string | No | Asset symbol |
side | string | No | Order side (buy/sell) |
requestedSize | string | No | Originally requested size |
requestedPrice | string | No | Originally requested price |
Examples
json{ "type": "hyperliquid-place-order", "payload": { "coin": "example-coin", "side": "buy", "size": "example-size", "price": "example-price", "orderType": "limit" }, "children": [], "connector": { "type": "wallet", "id": "conn_wallet" }}
bashcurl -X POST "https://api.b3os.org/v1/actions/hyperliquid-place-order/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "coin": "example-coin", "side": "buy", "size": "example-size", "price": "example-price", "orderType": "limit" }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
