Withdrawal events are when a user withdraws tokens (tokens deposited or added as collateral previously) from a lending protocol.The <chain>.lending.withdrawals table contains withdrawal events from Aave v1, v2, v3 and Compound v2 and v3 and Morpho Blue protocols, consolidated into a single table for easy querying.This table tracks all withdrawal activities across major lending protocols, providing comprehensive information about withdrawn amounts, tokens, participants, and transaction details.
withdrawer_address reflects the address emitted by the specific event Allium decodes for a protocol. For most protocols that’s the withdrawing wallet, but for protocols that route withdrawals through a vault, router, or liquidity layer below the user-facing entry point, it can instead be that intermediate contract (for example, a receipt-token contract like Fluid’s fUSDC). When you need reliable end-user attribution, filter on transaction_from_address instead — it’s the transaction originator, though it won’t capture withdrawals routed through a smart contract wallet, batcher, or aggregator.
Sample Query
Total withdrawals of all lending projects on Ethereum in the past 90 days.
select project, sum(usd_amount) as usd from ethereum.lending.withdrawalswhere block_timestamp >= current_date - 90group by allorder by usd desc
Total withdrawals by token of Aave on Ethereum in the past 90 days.
select project, token_address, token_name, token_symbol, sum(usd_amount) as usd from ethereum.lending.withdrawalswhere project = 'aave'and block_timestamp >= current_date - 90group by allorder by usd desc
Table Columns
Unique Key: unique_id
Column
Data Type
Description
project
VARCHAR
Name of the lending project
protocol
VARCHAR
Underlying protocol that the lending protocol is utilising
lending_event
VARCHAR
Type of lending event (always ‘withdrawals’ for this table)
event_name
VARCHAR
Name of the event
market_address
VARCHAR
Address of the lending market
withdrawer_address
VARCHAR
Address of the withdrawer
recipient_address
VARCHAR
Address of the recipient of the withdrawn tokens
token_address
VARCHAR
Address of the token withdrawn
token_name
VARCHAR
Name of the token withdrawn
token_symbol
VARCHAR
Symbol of the token withdrawn
token_decimals
INTEGER
Number of decimals of the token withdrawn
raw_amount_str
VARCHAR
Raw amount of the token withdrawn, in string to retain precision
raw_amount
FLOAT
Raw amount of the token withdrawn
amount_str
VARCHAR
Normalised amount of the token withdrawn, in string to retain precision
amount
FLOAT
Normalised amount of the token withdrawn
usd_amount
FLOAT
USD amount of the token withdrawn at the time of the transaction
usd_exchange_rate
FLOAT
Hourly USD exchange rate of the token withdrawn
receipt_token_address
VARCHAR
Address of the receipt token burned (e.g., aToken, cToken)
extra_fields
VARIANT
Extra fields from the event
transaction_hash
VARCHAR
Transaction hash of the event
transaction_index
INTEGER
Index of the transaction in the block
transaction_from_address
VARCHAR
Address of the sender of the transaction
transaction_to_address
VARCHAR
Address of the recipient of the transaction
log_index
INTEGER
Index of the log in the transaction
topic0
VARCHAR
Topic 0 of the event
block_number
INTEGER
Block number of the event
block_timestamp
TIMESTAMP_NTZ(9)
Timestamp of the block
block_hash
VARCHAR
Hash of the block
unique_id
VARCHAR
Unique ID of the event
_created_at
TIMESTAMP_NTZ(9)
Timestamp of when the event was created
_updated_at
TIMESTAMP_NTZ(9)
Timestamp of when the event was last updated
Was this page helpful?
Assistant
Responses are generated using AI and may contain mistakes.