Skip to main content

Writer Actions Dataset

Updated on
Feb 13, 2026

Overviewโ€‹

The Writer Actions stream contains system operations for spot token transfers, tracking automated asset movements and system-level transfers within Hyperliquid's ecosystem.

Stream Type: WRITER_ACTIONS
API Availability: gRPC Streaming API + JSON-RPC/WebSocket APIs
Volume: Low - Updates when system performs automated spot token transfers

Data Structureโ€‹

Writer actions capture system operations for spot token transfers, indexed by user address, nonce, and EVM transaction hash:

{
"local_time": "2024-12-30T18:35:51.000000000",
"block_time": "2024-12-30T18:35:50.825613062",
"block_number": 805892411,
"events": [
[
"0x200000000000000000000000000000000000012b",
{
"user": "0x200000000000000000000000000000000000012b",
"nonce": 33554479,
"evm_tx_hash": "0x80b1b5b2f1fd3e7c68d7b2e6e0f5c0a7d4c3b2a1",
"action": {
"type": "SystemSpotSendAction",
"destination": "0x200000000000000000000000000000000000012b",
"token": 299,
"wei": "200000000000"
}
}
]
]
}

Field Definitionsโ€‹

Event Structureโ€‹

FieldTypeDescription
userstringSystem user address (usually starts with 0x200000...)
nonceintegerUnique nonce for the system operation
evm_tx_hashstringAssociated EVM transaction hash
actionobjectAction details (see Action Structure below)

Action Structureโ€‹

FieldTypeDescription
typestringAction type (e.g., "SystemSpotSendAction")
destinationstringDestination address for the token transfer
tokenintegerToken ID (numeric identifier for the specific token)
weistringTransfer amount in wei (smallest unit)

API Usageโ€‹

gRPC Streaming
// Subscribe to writer actions
const request = {
subscribe: {
stream_type: 'WRITER_ACTIONS',
filters: {
"user": ["0x200000000000000000000000000000000000012b"]},
"action.type": ["SystemSpotSendAction"]},
"action.token": [299, 269, 0]}
}
}
};
JSON-RPC
# Get latest writer action blocks
curl -X POST https://your-endpoint.hype-mainnet.quiknode.pro/your-token/hypercore \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "hl_getLatestBlocks",
"params": {
"stream": "writer_actions",
"count": 10
},
"id": 1
}'
WebSocket
// Subscribe to writer actions with filters
ws.send(JSON.stringify({
"method": "hl_subscribe",
"params": {
"streamType": "writer_actions",
"filters": {
"user": ["0x200000000000000000000000000000000000012b"]},
"action.type": ["SystemSpotSendAction"]},
"action.token": [299, 0]}
}
}
}));

Example System Transfer Recordsโ€‹

SystemSpotSendAction - Token ID 299
{
"user": "0x200000000000000000000000000000000000012b",
"nonce": 33554479,
"evm_tx_hash": "0x80b1b5b2f1fd3e7c68d7b2e6e0f5c0a7d4c3b2a1",
"action": {
"type": "SystemSpotSendAction",
"destination": "0x200000000000000000000000000000000000012b",
"token": 299,
"wei": "200000000000"
}
}
SystemSpotSendAction - Token ID 269
{
"user": "0x200000000000000000000000000000000000012c",
"nonce": 33554480,
"evm_tx_hash": "0x7a92c4d3e2f4b5c6d8e9f0a1b2c3d4e5f6a7b8c9",
"action": {
"type": "SystemSpotSendAction",
"destination": "0x200000000000000000000000000000000000012c",
"token": 269,
"wei": "55435839543"
}
}
SystemSpotSendAction - Token ID 0
{
"user": "0x200000000000000000000000000000000000012d",
"nonce": 33554481,
"evm_tx_hash": "0x6b83d5e4f1c2a3b4c5d6e7f8a9b0c1d2e3f4a5b6",
"action": {
"type": "SystemSpotSendAction",
"destination": "0x200000000000000000000000000000000000012d",
"token": 0,
"wei": "750000000000000000000"
}
}

Important Notesโ€‹


  • System Operations: These are automated system-level transfers, not user-initiated transfers
  • Token IDs: Tokens are referenced by numeric IDs rather than symbol names (e.g., 299, 269, 0, 221)
  • Wei Format: All amounts are in wei format (smallest denomination) as strings
  • System Users: User addresses typically start with 0x200000000000000000000000000000000000 followed by incremental hex values
  • EVM Integration: Each action has an associated EVM transaction hash for cross-system tracking
  • SystemSpotSendAction: The primary action type for spot token transfers within the system

Token ID Referenceโ€‹

Common token IDs seen in system transfers:

  • Token ID 0 - Base token or ETH equivalent
  • Token ID 269 - System token (specific identity varies)
  • Token ID 299 - System token (specific identity varies)
  • Token ID 221 - System token (specific identity varies)

Note: Token ID mappings may vary.


  • Events - View balance changes and transfers that may trigger cross-environment moves
  • Blocks - See the raw HyperCore transactions that initiate these transfers
  • Trades - Monitor trading activity that may lead to asset movements
Share this doc