Skip to main content
ABI decoding is an optional pipeline stage that transforms raw EVM event logs or transaction calldata into structured, typed rows using Solidity ABI definitions. It is activated when an abi section is present in your pipeline configuration.

Applicability

ABI decoding only applies to the following topic entities:
  • logs - raw event logs emitted by smart contracts.
  • transactions - raw transaction calldata submitted to the network.
ABI decoding is incompatible with the Kafka (raw) destination. Pipelines that combine ABI decoding with a Kafka destination are rejected at startup.

Decoders

The pipeline provides two decoders, each responsible for a different entity type:
DecoderInput EntityOutput Tables
EventDecoderlogs{chain_name}_evt_{event_name} tables
FunctionDecodertransactions{chain_name}_fn_{function_name} tables

Data Flow

logs stream ──────► EventDecoder ──────► base_evt_swap, base_evt_transfer, ...
transactions stream ──► FunctionDecoder ──► base_fn_exact_input_single, base_fn_transfer, ...
Raw log or transaction rows flow through the appropriate decoder, which matches each record against the provided ABI. Matched records are emitted into named output tables derived from the event or function name. Unmatched records are either dropped or routed to a raw fallback table, depending on your configuration.

Configuration

Add the abi section to your pipeline configuration to enable decoding:
abi:
  path: "/etc/pipeline-api/abi.json"
  contract_addresses:
    - "0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45"
  unmatched: "skip"

Fields

FieldTypeRequiredDefaultDescription
pathstringYesPath to the ABI JSON file. Must conform to the standard Solidity ABI JSON format.
contract_addresseslistNoOptional list of contract addresses to filter on. When omitted, all contracts are decoded.
unmatchedstringNoskipStrategy for records that do not match any ABI entry. skip drops the record; raw_table writes it to raw_logs or raw_transactions.

Next Steps

Event Decoding

Decode event logs into structured evt_ tables.

Function Decoding

Decode transaction calldata into structured fn_ tables.

Reference

ABI file format, type mappings, and filtering behavior.