Native Transfers
Track ETH value transfers. No ABI needed.
Configuration
Transfer indexing is top-level, not nested under contracts. Each [[transfers]] block creates a separate table.
sieve.toml
[[transfers]] name = "eth_transfers" table = "eth_transfers" start_block = 21_000_000 context = ["block_timestamp", "tx_gas_price"] include_receipts = true
name · required identifier
table · required PostgreSQL table name
start_block · optional defaults to 0
include_receipts · optional · default: false
Address filters
Optionally filter by sender and/or receiver address.
sieve.toml
[[transfers]] name = "binance_outflows" table = "binance_outflows" start_block = 21_000_000 [transfers.filter] from = ["0x28C6c06298d514Db089934071355E5743bf21d60"]
Both from and to accept arrays of addresses. Omit the filter to index all ETH transfers.
Table schema
Transfer tables have a fixed schema (no ABI-derived columns):
| Column | Type |
|---|---|
| block_number | BIGINT |
| tx_hash | BYTEA |
| tx_index | INTEGER |
| from_address | TEXT |
| to_address | TEXT |
| value | NUMERIC |
Plus any context and receipt fields you configure.