Lido (Liquid Staking)
Lido is a liquid staking protocol that lets users stake ETH without locking it. Users receive stETH tokens representing their staked position, which can be used in DeFi while earning staking rewards.
Supported Networks:
- L1 Events: ETH
- L2 Events: ARB, SONEIUM, UNI, OP, ZK, ZIRCUIT, BASE, MANTLE, MODE
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
involving | string | No | Filter by address involved in the event (e.g., sender, receiver, owner) |
involving_label | string | No | Filter where any involved address matches a label substring (e.g., Binance). Mutually exclusive with involving. |
involving_category | string | No | Filter where any involved address matches a category (e.g., exchange). Mutually exclusive with involving. |
Event Types:
Deposit (L1)
Users stake ETH and receive stETH.
Endpoint: GET /v1/lido/events/deposit
curl -H "X-API-Key: $API_KEY"
"https://api.defistream.dev/v1/lido/events/deposit?network=ETH&block_start=24000000&block_end=24010000" Example Data:
| block_number | sender | referral | minted_amount | minted_token | time |
|---|---|---|---|---|---|
| 24000010 | 0x76bc…141 | 0x11d0…1d0 | 2.0 | STETH | 2025-12-13T00:08:11Z |
| 24000051 | 0xe39c…a69 | 0x11d0…1d0 | 471.0 | STETH | 2025-12-13T00:16:23Z |
| 24000086 | 0xf27f…efa | 0x11d0…1d0 | 0.034 | STETH | 2025-12-13T00:23:23Z |
| 24000095 | 0x7f39…ca0 | 0x0000…000 | 0.31 | STETH | 2025-12-13T00:25:11Z |
| 24000188 | 0x7f39…ca0 | 0x0000…000 | 0.41 | STETH | 2025-12-13T00:43:47Z |
Withdrawal Request (L1)
Users request to unstake their stETH.
Endpoint: GET /v1/lido/events/withdrawal_request
curl -H "X-API-Key: $API_KEY"
"https://api.defistream.dev/v1/lido/events/withdrawal_request?network=ETH&block_start=24000000&block_end=24010000" Example Data:
| block_number | request_id | requestor | owner | burned_amount | burned_token | time |
|---|---|---|---|---|---|---|
| 24000079 | 107851 | 0x9e30…9c4 | 0x9e30…9c4 | 0.77 | STETH | 2025-12-13T00:21:59Z |
| 24000130 | 107852 | 0x4506…87e | 0x4506…87e | 16.43 | STETH | 2025-12-13T00:32:11Z |
| 24000487 | 107853 | 0x2e60…71b | 0x2e60…71b | 5.88 | STETH | 2025-12-13T01:43:35Z |
| 24000569 | 107854 | 0x9807…8fe | 0x9807…8fe | 5.45 | STETH | 2025-12-13T02:00:11Z |
| 24000585 | 107855 | 0xd404…f18 | 0xd404…f18 | 16.22 | STETH | 2025-12-13T02:03:23Z |
Withdrawal Claimed (L1)
Users claim their ETH after the withdrawal waiting period.
Endpoint: GET /v1/lido/events/withdrawal_claimed
curl -H "X-API-Key: $API_KEY"
"https://api.defistream.dev/v1/lido/events/withdrawal_claimed?network=ETH&block_start=24000000&block_end=24010000" Example Data:
| block_number | request_id | receiver | owner | withdraw_amount | withdraw_token | time |
|---|---|---|---|---|---|---|
| 24000078 | 107647 | 0xf27f…efa | 0xf27f…efa | 0.034 | ETH | 2025-12-13T00:21:47Z |
| 24000136 | 107747 | 0xce39…c7 | 0xce39…c7 | 0.66 | ETH | 2025-12-13T00:33:23Z |
| 24000300 | 107785 | 0xb753…231 | 0xb753…231 | 0.0043 | ETH | 2025-12-13T01:06:11Z |
| 24000373 | 107597 | 0x89d4…43 | 0x89d4…43 | 249.61 | ETH | 2025-12-13T01:20:47Z |
| 24000418 | 107717 | 0x954f…8d8 | 0x954f…8d8 | 173.02 | ETH | 2025-12-13T01:29:47Z |
L2 Deposit
wstETH deposits on Layer 2 networks via the Lido bridge.
Endpoint: GET /v1/lido/events/l2_deposit
curl -H "X-API-Key: $API_KEY"
"https://api.defistream.dev/v1/lido/events/l2_deposit?network=ARB&block_start=290000000&block_end=290010000" Fields: block_number, l1_sender, l2_receiver, amount, time
L2 Withdrawal Request
wstETH withdrawal requests on Layer 2 networks.
Endpoint: GET /v1/lido/events/l2_withdrawal_request
curl -H "X-API-Key: $API_KEY"
"https://api.defistream.dev/v1/lido/events/l2_withdrawal_request?network=OP&block_start=130000000&block_end=130010000" Fields: block_number, l2_sender, l1_receiver, amount, time
Aggregate Queries
Bucket Lido events into time or block intervals with summary statistics.
Endpoint: GET /v1/lido/events/{event_type}/aggregate
Requires group_by (time or block_number) and period (e.g., 2h, 1d, 10000).
Aggregatable event types: deposit (agg_minted_amount, agg_value_usd*), withdrawal_request (agg_burned_amount, agg_value_usd*), withdrawal_claimed (agg_withdraw_amount, agg_value_usd*), l2_deposit (agg_minted_amount, agg_value_usd*), l2_withdrawal_request (agg_burned_amount, agg_value_usd*)
* agg_value_usd is only present when with_value=true is passed in the request.
Example: Daily staking inflow
curl -H "X-API-Key: $API_KEY"
"https://api.defistream.dev/v1/lido/events/deposit/aggregate?network=ETH&block_start=21000000&block_end=21100000&group_by=time&period=1d" Sample Aggregate Results (deposit):
| time_start | time_end | agg_minted_amount | count |
|---|---|---|---|
| 2024-11-08T00:00:00Z | 2024-11-09T00:00:00Z | 4821.35 | 142 |
| 2024-11-09T00:00:00Z | 2024-11-10T00:00:00Z | 3592.18 | 118 |
| 2024-11-10T00:00:00Z | 2024-11-11T00:00:00Z | 5104.67 | 157 |
Sample Aggregate Results (withdrawal_request):
| time_start | time_end | agg_burned_amount | count |
|---|---|---|---|
| 2024-11-08T00:00:00Z | 2024-11-09T00:00:00Z | 1245.82 | 38 |
| 2024-11-09T00:00:00Z | 2024-11-10T00:00:00Z | 892.47 | 25 |
| 2024-11-10T00:00:00Z | 2024-11-11T00:00:00Z | 1583.21 | 44 |
Quota & Limits
Lido endpoints use a block-based quota model. Cost formula: max(100, round(block_range × network_discount × aggregate_discount)).
| Format | Max time range | Max block range | Quota cost |
|---|---|---|---|
| JSON | 31 days | 10,000 | block_range (min 100) |
| CSV / Parquet | 31 days | 10,000,000 | block_range (min 100) |
| CSV / Parquet (ARB) | 31 days | 10,000,000 | block_range × 0.2 (min 100) |
| Aggregate | 31 days | same as above | block_range × 0.5 (min 100) |
Check response headers X-RateLimit-Remaining and X-Request-Cost to monitor usage.