The hyperliquid.assets.fungible_token_transfers table provides comprehensive fungible token transfers on Hyperliquid combining:
- Arbitrum bridge data (on-chain, full history from 2023-12) for deposit/withdraw
- misc_events (from 2025-05) for all other transfer types
- misc_events deposit/withdraw as fallback for bridge incremental lag
This table covers 17 on-chain event types plus synthetic spot_trade events.
This is the recommended table for all Hyperliquid transfer data. It supersedes hyperliquid.assets.transfers which only contained bridge deposits/withdrawals.
Table Columns
| Column | Description |
|---|
| from_address | Sender address. For bridge deposits, this is the Arbitrum sender. For bridge withdrawals, this is the Hyperliquid user. Null for rewards claims, spot genesis, and unstaking events |
| to_address | Recipient address. For bridge deposits, this is the Hyperliquid recipient. For bridge withdrawals, this is the Arbitrum destination. Null for staking deposits, gas fees, and lending supply/repay |
| token_address | Token address. Arbitrum ERC-20 address (0x…) for bridge events, integer token index for misc_events |
| token_name | Full name of the token |
| token_symbol | Symbol of the token being transferred (e.g., USDC, HYPE, PURR) |
| amount_str | Transfer amount as a string to preserve precision |
| amount | Transfer amount as a float |
| usd_amount | USD value. Bridge events use hourly price hydration. Non-bridge events use hardcoded $1 for non-USDC tokens |
| hash | Transaction hash. Shared between Arbitrum and Hyperliquid L1 for bridge events |
| timestamp | Event timestamp. Arbitrum block_timestamp for bridge events, Hyperliquid L1 time for misc_events |
| transfer_index | Index within the same (timestamp, hash) to disambiguate multiple transfers |
| event_type | The event type (see below) |
| transfer_category | High-level category grouping the event_type |
| unique_id | Deterministic unique ID. Format differs between bridge rows and misc_events rows |
| trade_details | JSON variant with trade pair info for spot_trade events. Null for all other event types |
| activity_type | Classified activity label |
| extra_fields | JSON variant with bridge-specific context for deposit/withdraw events sourced from Arbitrum. Null for non-bridge events |
| block_height | Hyperliquid L1 block height corresponding to the event timestamp |
| block_hash | Hyperliquid L1 block hash corresponding to the event timestamp |
| _created_at | Timestamp when this row was first created |
| _updated_at | Timestamp when this row was last updated |
Event Types
The event_type column contains one of the following values:
| Event Type | Description |
|---|
| deposit | Bridge deposit from Arbitrum |
| withdraw | Bridge withdrawal to Arbitrum |
| spotTransfer | Spot token transfer |
| send | Token send |
| accountClassTransfer | Account class transfer |
| subAccountTransfer | Sub-account transfer |
| internalTransfer | Internal transfer |
| vaultDeposit | Vault deposit |
| vaultWithdraw | Vault withdrawal |
| vaultCreate | Vault creation |
| vaultDistribution | Vault distribution |
| vaultLeaderCommission | Vault leader commission |
| rewardsClaim | Rewards claim |
| spotGenesis | Spot genesis event |
| cStakingTransfer | HYPE staking transfer |
| borrowLend | Native lending operation |
| accountActivationGas | One-time gas fee for account activation |
| spot_trade | Synthetic event for spot trades |
Transfer Categories
The transfer_category column groups event types into high-level categories:
| Category | Event Types |
|---|
| bridge | deposit, withdraw |
| transfer | internalTransfer, spotTransfer, send |
| internal | accountClassTransfer, subAccountTransfer |
| vault | vaultDeposit, vaultWithdraw, vaultCreate, vaultDistribution, vaultLeaderCommission |
| lifecycle | rewardsClaim, spotGenesis |
| staking | cStakingTransfer |
| lending | borrowLend |
| gas | accountActivationGas |
| trade | spot_trade |
Activity Types
The activity_type column provides classified activity labels:
- bridge_deposit
- bridge_withdrawal
- mint
- burn
- swap
- stake
- unstake
- lend
- gas_fee
- transfer
For deposit/withdraw events sourced from Arbitrum, the extra_fields JSON contains:
- source_chain
- destination_chain
- transaction_hash
- block_number
- block_hash
- log_index
- transaction_index
- transaction_from_address
- transaction_to_address
- usd_exchange_rate
Sample Query
SELECT
timestamp,
from_address,
to_address,
token_symbol,
amount,
event_type,
activity_type
FROM hyperliquid.assets.fungible_token_transfers
WHERE timestamp >= CURRENT_DATE - INTERVAL '7 days'
ORDER BY timestamp DESC
LIMIT 100;