The data infrastructure layer for audit, tax, and financial reconciliation teams. Normalized onchain records, source-traceable across chains.

Decoded LogsEvery EVM event, already parsed

Decoded Logs takes every EVM event log and maps it back to a contract name, an event name, and the full event payload as JSON — in one standardized table per chain. No ABI parsing on your side, no long tail of per-contract decoded tables that breaks Snowflake / BigQuery / Databricks pipeline economics. Every contract whose ABI Dune has on file is decoded into the same table — coverage compounds as new ABIs are added, with no per-protocol parsing on your side.

Decoded Logs

Every EVM contract event mapped back to a contract name, an event name, and the full event payload as JSON — in one standardized table per chain. Every contract whose ABI Dune has on file is decoded into the same table, so coverage compounds without you maintaining per-contract decoders downstream. Same shape across Ethereum, Optimism, Arbitrum, Base, Polygon, and BNB.

ethereum.logs_decoded

One row per emitted event from a decoded contract. The example below is a Swap event from a Uniswap V3 pool — decoded_json exposes every parameter the contract emitted, so you read swap size, price, and tick straight from the row.

ColumnDescriptionExample
block_timeTimestamp of the block containing the decoded log.2026-05-09 19:22:11.000 UTC
block_numberBlock number containing the log.25059581
tx_hashTransaction hash containing the decoded event.0x63d470f12bf065da791e630c0285abaf34230522664401a94c22cf24181332b1
indexPosition of the log inside the block.349
tx_fromAddress that initiated the transaction.0x930b88a592a045c428f3d99f7f3e5f95e3967508
tx_toAddress the transaction was sent to.0x1103fc560de8b710983e7f3ec09d587f3f848566
namespaceProject namespace attached to the decoded contract or event family.uniswap_v3
contract_nameDecoded contract name from the registered ABI.UniswapV3Pool
contract_addressAddress of the contract that emitted the event.0xc5c9a9ab6403cdba9722463000146c18b504f0ba
event_nameHuman-readable event name decoded from the ABI.Swap
signatureEvent signature hash (topic0) used to match the ABI entry.0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67
decoded_jsonFull event parameters as JSON, so you can read every emitted field without joining per-event decoded tables.{ "sender": "0x1103fc560de8b710983e7f3ec09d587f3f848566", "recipient": "0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b", "amount0": "10510459079568843898497", "amount1": "-122143926874515366", "sqrtPriceX96": "270845218814430251233432262", "liquidity": "8014602887207398750171", "tick": "-113577" }

Token Transfers + Decoded Logs

Token Transfers tells you what moved and what it was worth in USD. Decoded Logs tells you which contract emitted the event and what its parameters say. Join on tx_hash, evt_index, and the emitting contract address to get one row per priced movement with the decoded event attached — same primary key on both sides, no per-contract decoders to maintain.

Wallet ledger

Every priced inbound and outbound Token Transfer for a single Ethereum wallet (Coinbase 10), joined to the matching Decoded Log. The example below is a USDC inbound — decoded_json shows the raw Transfer(from, to, value) parameters that the curated Token Transfer row was derived from.

ColumnDescriptionExample
block_timeTimestamp of the block containing the transfer.2026-05-09 00:36:59.000 UTC
directionWhether the fixed wallet received (inbound) or sent (outbound) the transfer.inbound
symbolToken symbol from the curated Token Transfers row.USDC
amountDecimal-adjusted transfer amount.17781975.328456
amount_usdUSD value of the transfer at block time.17785959.97
fromSender address from the source Token Transfer row.0xa6e3c7a74aedccfae78eed37ab8d19c893a75958
toReceiver address from the source Token Transfer row.0xa9d1e08c7793af67e9d92fe308d5697fb81d3e43
tx_hashSource transaction hash, used as the join key.0xe09d162e44094223005d25a9004bda753dc052dea53f6a51cd4902e2cc33fc35
evt_indexEvent index inside the transaction, used as the join key.154
token_contractERC20 contract address that emitted the transfer event.0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
event_nameDecoded event name attached to the transfer.Transfer
namespaceProject namespace of the decoded contract that emitted the event.circle
log_emitting_contract_nameName of the contract that emitted the decoded log, when available.USDC
decoded_jsonRaw decoded event payload for the transfer, preserved as JSON.{ "from": "0xa6e3c7a74aedccfae78eed37ab8d19c893a75958", "to": "0xa9d1e08c7793af67e9d92fe308d5697fb81d3e43", "value": "17781975328456" }

Wallet ledger

A day of activity for a single Ethereum wallet (Coinbase 10), sorted by USD size. Every priced Token Transfer with the matching Decoded Log attached: amount, USD value, and direction on the left; event name, namespace, and decoded JSON payload on the right.

No rows returned.
Showing 0-0 of 0
Page 1 / 1

Talk to our data solutions team

Flexible pricing based on your actual usage. Start with a preview dataset today.

Missing a chain or contract?

Ways to access the data

Datashare CTA

Datashare

Sync the reconciliation stack to Snowflake, BigQuery, Databricks, or Amazon S3. No API limits.

SnowflakeBigQueryDatabricks
Dune Data Hub CTA

Dune Data Hub

Query the reconciliation stack directly in Dune's SQL editor. Start from a template or write your own.

Dune API CTA

Dune API

Programmatic access to the reconciliation stack. Same shape, REST-ready for pipelines, integrations, and product features.

Dune MCP

Plug reconciliation data into Claude, Cursor, Codex, and other MCP-compatible agents.