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:

ParameterTypeRequiredDescription
involvingstringNoFilter by address involved in the event (e.g., sender, receiver, owner)
involving_labelstringNoFilter where any involved address matches a label substring (e.g., Binance). Mutually exclusive with involving.
involving_categorystringNoFilter 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_numbersenderreferralminted_amountminted_tokentime
240000100x76bc…1410x11d0…1d02.0STETH2025-12-13T00:08:11Z
240000510xe39c…a690x11d0…1d0471.0STETH2025-12-13T00:16:23Z
240000860xf27f…efa0x11d0…1d00.034STETH2025-12-13T00:23:23Z
240000950x7f39…ca00x0000…0000.31STETH2025-12-13T00:25:11Z
240001880x7f39…ca00x0000…0000.41STETH2025-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_numberrequest_idrequestorownerburned_amountburned_tokentime
240000791078510x9e30…9c40x9e30…9c40.77STETH2025-12-13T00:21:59Z
240001301078520x4506…87e0x4506…87e16.43STETH2025-12-13T00:32:11Z
240004871078530x2e60…71b0x2e60…71b5.88STETH2025-12-13T01:43:35Z
240005691078540x9807…8fe0x9807…8fe5.45STETH2025-12-13T02:00:11Z
240005851078550xd404…f180xd404…f1816.22STETH2025-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_numberrequest_idreceiverownerwithdraw_amountwithdraw_tokentime
240000781076470xf27f…efa0xf27f…efa0.034ETH2025-12-13T00:21:47Z
240001361077470xce39…c70xce39…c70.66ETH2025-12-13T00:33:23Z
240003001077850xb753…2310xb753…2310.0043ETH2025-12-13T01:06:11Z
240003731075970x89d4…430x89d4…43249.61ETH2025-12-13T01:20:47Z
240004181077170x954f…8d80x954f…8d8173.02ETH2025-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_starttime_endagg_minted_amountcount
2024-11-08T00:00:00Z2024-11-09T00:00:00Z4821.35142
2024-11-09T00:00:00Z2024-11-10T00:00:00Z3592.18118
2024-11-10T00:00:00Z2024-11-11T00:00:00Z5104.67157

Sample Aggregate Results (withdrawal_request):

time_starttime_endagg_burned_amountcount
2024-11-08T00:00:00Z2024-11-09T00:00:00Z1245.8238
2024-11-09T00:00:00Z2024-11-10T00:00:00Z892.4725
2024-11-10T00:00:00Z2024-11-11T00:00:00Z1583.2144

Quota & Limits

Lido endpoints use a block-based quota model. Cost formula: max(100, round(block_range × network_discount × aggregate_discount)).

FormatMax time rangeMax block rangeQuota cost
JSON31 days10,000block_range (min 100)
CSV / Parquet31 days10,000,000block_range (min 100)
CSV / Parquet (ARB)31 days10,000,000block_range × 0.2 (min 100)
Aggregate31 dayssame as aboveblock_range × 0.5 (min 100)

Check response headers X-RateLimit-Remaining and X-Request-Cost to monitor usage.