{
"jsonrpc": "2.0",
"id": 101,
"method": "placeOrder",
"params": {
"symbol": "BTC",
"side": "buy",
"type": "limit",
"amount": "0.01",
"price": "65000.0",
"timeInForce": "GTC",
"clientOrderId": "0x1234567890abcdef1234567890abcdef"
}
}{
"jsonrpc": "2.0",
"id": 102,
"method": "batchPlaceOrder",
"params": {
"orders": [
{
"symbol": "BTC",
"side": "buy",
"type": "limit",
"amount": "0.01",
"price": "65000.0",
"clientOrderId": "0x1234567890abcdef1234567890abcdef"
},
{
"symbol": "ETH",
"side": "sell",
"type": "limit",
"amount": "0.5",
"price": "3500.0",
"clientOrderId": "0x1234567890abcdef1234567890abcdef"
}
]
}
}{
"jsonrpc": "2.0",
"id": 103,
"method": "cancelOrder",
"params": {
"symbol": "BTC",
"orderId": "1234567890"
}
}{
"jsonrpc": "2.0",
"id": 104,
"method": "cancelAllOrders",
"params": {
"symbol": "BTC",
"scope": "symbol"
}
}{
"jsonrpc": "2.0",
"id": 105,
"method": "modifyOrder",
"params": {
"symbol": "BTC",
"orderId": "1234567890",
"price": "66000.0",
"amount": "0.02"
}
}{
"jsonrpc": "2.0",
"id": 106,
"method": "batchModifyOrder",
"params": {
"orders": [
{
"symbol": "BTC",
"orderId": "1234567890",
"price": "66000.0",
"amount": "0.02"
},
{
"symbol": "ETH",
"orderId": "1234567891",
"price": "3600.0"
}
]
}
}{
"jsonrpc": "2.0",
"id": 100,
"method": "getSymbolInfo",
"params": {
"symbols": [
"BTC",
"ETH"
]
}
}{
"jsonrpc": "2.0",
"id": 101,
"result": {
"id": "1234567890",
"clientOrderId": "0x1234567890abcdef1234567890abcdef",
"symbol": "BTC",
"side": "buy",
"type": "limit",
"status": "open",
"price": "65000.0",
"amount": "0.01",
"filled": "0",
"remaining": "0.01",
"createdAt": 1710000000000,
"eventTime": 1710000000100,
"timestamp": 1710000000050,
"dexProcessedTimestamp": 1710000000050,
"dexReceivedTimestamp": 1710000001100,
"hyperethTimestamp": 1710000001100
}
}{
"jsonrpc": "2.0",
"id": 102,
"result": {
"success": true,
"results": [
{
"index": 0,
"success": true,
"order": {
"id": "1234567890",
"symbol": "BTC",
"status": "open",
"dexProcessedTimestamp": 1710000000050,
"dexReceivedTimestamp": 1710000001100,
"hyperethTimestamp": 1710000001100
}
}
],
"successCount": 1,
"failureCount": 1,
"dataTime": 1710000000000,
"dexReceivedTimestamp": 1710000001100,
"hyperethTimestamp": 1710000001100
}
}{
"jsonrpc": "2.0",
"id": 103,
"result": {
"status": "ok",
"id": "1234567890",
"clientOrderId": "0x1234567890abcdef1234567890abcdef",
"dexReceivedTimestamp": 1710000000080,
"hyperethTimestamp": 1710000000100
}
}{
"jsonrpc": "2.0",
"id": 104,
"result": {
"status": "ok",
"canceled": [
"123",
"124",
"125"
],
"message": "3 orders canceled",
"dexReceivedTimestamp": 1710000000080,
"hyperethTimestamp": 1710000000100
}
}{
"jsonrpc": "2.0",
"id": 105,
"result": {
"id": "1234567890",
"clientOrderId": "0x1234567890abcdef1234567890abcdef",
"symbol": "BTC",
"side": "buy",
"type": "limit",
"status": "open",
"price": "66000.0",
"amount": "0.02",
"filled": "0",
"remaining": "0.02",
"updatedAt": 1710000001000,
"eventTime": 1710000001100,
"timestamp": 1710000001050,
"dexProcessedTimestamp": 1710000000050,
"dexReceivedTimestamp": 1710000001100,
"hyperethTimestamp": 1710000001100
}
}{
"jsonrpc": "2.0",
"id": 106,
"result": {
"success": true,
"results": [
{
"index": 0,
"success": true,
"order": {
"id": "1234567890",
"symbol": "BTC",
"status": "open",
"price": "66000.0",
"dexProcessedTimestamp": 1710000000050,
"dexReceivedTimestamp": 1710000001100,
"hyperethTimestamp": 1710000001100
}
}
],
"successCount": 2,
"failureCount": 0,
"dataTime": 1710000001000,
"dexReceivedTimestamp": 1710000001100,
"hyperethTimestamp": 1710000001100
}
}{
"jsonrpc": "2.0",
"id": 100,
"result": {
"symbols": [
{
"symbol": "BTC",
"marketType": "swap",
"base": "BTC",
"quote": "USDT",
"settle": "USDT",
"status": "trading",
"precision": {
"priceDecimals": 4,
"quantityDecimals": 8,
"tickSize": "0.0001",
"stepSize": "0.00000001",
"minOrderSize": "0.001"
}
}
],
"dataTime": 1710000000000,
"dexReceivedTimestamp": 1710010900001,
"hyperethTimestamp": 1710011000000
}
}JSON-RPC 2.0 request-response operations for trading and queries (available on hyperliquid, aster, lighter, and kuru servers). Note - modifyOrder, and batchModifyOrder are not available on aster. batchPlaceOrder, cancelAllOrders, modifyOrder, and batchModifyOrder are not available on kuru.
{
"jsonrpc": "2.0",
"id": 101,
"method": "placeOrder",
"params": {
"symbol": "BTC",
"side": "buy",
"type": "limit",
"amount": "0.01",
"price": "65000.0",
"timeInForce": "GTC",
"clientOrderId": "0x1234567890abcdef1234567890abcdef"
}
}{
"jsonrpc": "2.0",
"id": 102,
"method": "batchPlaceOrder",
"params": {
"orders": [
{
"symbol": "BTC",
"side": "buy",
"type": "limit",
"amount": "0.01",
"price": "65000.0",
"clientOrderId": "0x1234567890abcdef1234567890abcdef"
},
{
"symbol": "ETH",
"side": "sell",
"type": "limit",
"amount": "0.5",
"price": "3500.0",
"clientOrderId": "0x1234567890abcdef1234567890abcdef"
}
]
}
}{
"jsonrpc": "2.0",
"id": 103,
"method": "cancelOrder",
"params": {
"symbol": "BTC",
"orderId": "1234567890"
}
}{
"jsonrpc": "2.0",
"id": 104,
"method": "cancelAllOrders",
"params": {
"symbol": "BTC",
"scope": "symbol"
}
}{
"jsonrpc": "2.0",
"id": 105,
"method": "modifyOrder",
"params": {
"symbol": "BTC",
"orderId": "1234567890",
"price": "66000.0",
"amount": "0.02"
}
}{
"jsonrpc": "2.0",
"id": 106,
"method": "batchModifyOrder",
"params": {
"orders": [
{
"symbol": "BTC",
"orderId": "1234567890",
"price": "66000.0",
"amount": "0.02"
},
{
"symbol": "ETH",
"orderId": "1234567891",
"price": "3600.0"
}
]
}
}{
"jsonrpc": "2.0",
"id": 100,
"method": "getSymbolInfo",
"params": {
"symbols": [
"BTC",
"ETH"
]
}
}{
"jsonrpc": "2.0",
"id": 101,
"result": {
"id": "1234567890",
"clientOrderId": "0x1234567890abcdef1234567890abcdef",
"symbol": "BTC",
"side": "buy",
"type": "limit",
"status": "open",
"price": "65000.0",
"amount": "0.01",
"filled": "0",
"remaining": "0.01",
"createdAt": 1710000000000,
"eventTime": 1710000000100,
"timestamp": 1710000000050,
"dexProcessedTimestamp": 1710000000050,
"dexReceivedTimestamp": 1710000001100,
"hyperethTimestamp": 1710000001100
}
}{
"jsonrpc": "2.0",
"id": 102,
"result": {
"success": true,
"results": [
{
"index": 0,
"success": true,
"order": {
"id": "1234567890",
"symbol": "BTC",
"status": "open",
"dexProcessedTimestamp": 1710000000050,
"dexReceivedTimestamp": 1710000001100,
"hyperethTimestamp": 1710000001100
}
}
],
"successCount": 1,
"failureCount": 1,
"dataTime": 1710000000000,
"dexReceivedTimestamp": 1710000001100,
"hyperethTimestamp": 1710000001100
}
}{
"jsonrpc": "2.0",
"id": 103,
"result": {
"status": "ok",
"id": "1234567890",
"clientOrderId": "0x1234567890abcdef1234567890abcdef",
"dexReceivedTimestamp": 1710000000080,
"hyperethTimestamp": 1710000000100
}
}{
"jsonrpc": "2.0",
"id": 104,
"result": {
"status": "ok",
"canceled": [
"123",
"124",
"125"
],
"message": "3 orders canceled",
"dexReceivedTimestamp": 1710000000080,
"hyperethTimestamp": 1710000000100
}
}{
"jsonrpc": "2.0",
"id": 105,
"result": {
"id": "1234567890",
"clientOrderId": "0x1234567890abcdef1234567890abcdef",
"symbol": "BTC",
"side": "buy",
"type": "limit",
"status": "open",
"price": "66000.0",
"amount": "0.02",
"filled": "0",
"remaining": "0.02",
"updatedAt": 1710000001000,
"eventTime": 1710000001100,
"timestamp": 1710000001050,
"dexProcessedTimestamp": 1710000000050,
"dexReceivedTimestamp": 1710000001100,
"hyperethTimestamp": 1710000001100
}
}{
"jsonrpc": "2.0",
"id": 106,
"result": {
"success": true,
"results": [
{
"index": 0,
"success": true,
"order": {
"id": "1234567890",
"symbol": "BTC",
"status": "open",
"price": "66000.0",
"dexProcessedTimestamp": 1710000000050,
"dexReceivedTimestamp": 1710000001100,
"hyperethTimestamp": 1710000001100
}
}
],
"successCount": 2,
"failureCount": 0,
"dataTime": 1710000001000,
"dexReceivedTimestamp": 1710000001100,
"hyperethTimestamp": 1710000001100
}
}{
"jsonrpc": "2.0",
"id": 100,
"result": {
"symbols": [
{
"symbol": "BTC",
"marketType": "swap",
"base": "BTC",
"quote": "USDT",
"settle": "USDT",
"status": "trading",
"precision": {
"priceDecimals": 4,
"quantityDecimals": 8,
"tickSize": "0.0001",
"stepSize": "0.00000001",
"minOrderSize": "0.001"
}
}
],
"dataTime": 1710000000000,
"dexReceivedTimestamp": 1710010900001,
"hyperethTimestamp": 1710011000000
}
}API key for authentication (required for private channels)
RPC request to place a new order
RPC request to place multiple orders
RPC request to cancel an order
RPC request to cancel multiple orders
RPC request to modify an existing order
RPC request to modify multiple orders
RPC request to get symbol information
RPC response with order details
RPC response with batch order results
RPC response for order cancellation
RPC response for bulk order cancellation
RPC response with modified order details
RPC response with batch modify results
RPC response with symbol information