Every EVM transaction produces a stream of raw event logs: packed hex-encoded data that means nothing without the contract's ABI and the context to decode it. Wallets, block explorers, and analytics platforms all face the same problem: turning opaque Transfer topics and data fields into the human-readable story of what actually happened. GoldRush Decoder solves this at the infrastructure level, exposing a single REST endpoint that accepts a chain name and transaction hash and returns an array of fully structured, labelled event objects enriched with token metadata and USD pricing, across 200+ EVM-compatible chains.
The core is a decoder registry built around the GoldRushDecoder class. At startup, initDecoder scans a protocol directory and builds a map of decoder keys (strings of the form protocol-name:EventName) to handler functions registered via the .on() method. Each handler receives the raw log alongside a full transaction object and the Covalent API client, allowing on-the-fly token resolution, price lookups, and logo URL hydration. A fallback decoder handles any event that lacks a chain-specific handler, so the API always returns something meaningful even for unknown protocols. Contributors extend the system through a CLI scaffold (yarn add-config) that generates the config, decoder, and test file boilerplate for a new protocol in one command.
I built GoldRush Decoder from the ground up at Covalent, owning the decoder engine architecture, the API server, CI/CD pipeline, and the contributor-facing scaffolding tooling. The most demanding work was implementing batched-parallel log processing: a transaction can emit dozens of logs from different protocols, and awaiting each decoder serially created unacceptable latency. I redesigned the execution model to fan out decoder invocations in parallel batches while preserving original log sequence order in the response.
The project attracted 9 contributors, accumulated 21 stars and 7 forks on GitHub, and was adopted as a public good within the Covalent GoldRush ecosystem before being archived in August 2025.
