<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/designing-a-production-ready-evm-indexer-sdk-in-go-architecture-design--yrvsqy3l5" -->

---
title: Designing a production-ready EVM indexer SDK in Go:...
description: Godex is a production-ready EVM blockchain indexer SDK built in Go with three core components: Processor (fetches on-chain data via RPC with reorg handling and...
canonical: https://daily.dev/posts/designing-a-production-ready-evm-indexer-sdk-in-go-architecture-design--yrvsqy3l5
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Designing a production-ready EVM indexer SDK in Go: architecture &amp; design. | daily.dev
og:description: Godex is a production-ready EVM blockchain indexer SDK built in Go with three core components: Processor (fetches on-chain data via RPC with reorg handling and...
og:url: https://daily.dev/posts/designing-a-production-ready-evm-indexer-sdk-in-go-architecture-design--yrvsqy3l5
og:image: https://api.daily.dev/og/posts/YrVSQY3l5.png
og:image:alt: Designing a production-ready EVM indexer SDK in Go: architecture &amp; design.
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Designing a production-ready EVM indexer SDK in Go: architecture & design.

**[Coins Bench](https://daily.dev/sources/coinsbench)** · 13 min read · 0 upvotes · 0 comments

## Summary

Godex is a production-ready EVM blockchain indexer SDK built in Go with three core components: Processor (fetches on-chain data via RPC with reorg handling and retry logic), Decoder (translates raw logs into typed events using ABIs), and Sink (persists data and manages rollbacks). The Processor uses a pipeline architecture with Planner, Fetcher, and Arbiter goroutines communicating through channels, supporting both sync mode (batch fetching with adjustable windows) and live mode (per-block indexing with finality). The Decoder handles both static and dynamic ABI types with explicit routing to avoid signature collisions between contracts. The system is designed for reliability with automatic reorg detection, retryable RPC calls, and atomic commit/rollback operations.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://coinsbench.com/designing-a-production-ready-evm-indexer-sdk-in-go-architecture-design-24c9fe5344e0>

## Similar posts on daily.dev

- [I Built an ethers.js-Style SDK for Hyperledger Fabric in Go](https://daily.dev/posts/i-built-an-ethers-js-style-sdk-for-hyperledger-fabric-in-go-g9wlfeazx) · Coins Bench · 5 upvotes · 0 comments

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#golang](https://daily.dev/tags/golang), [#blockchain](https://daily.dev/tags/blockchain), [#ethereum](https://daily.dev/tags/ethereum), [#smart-contracts](https://daily.dev/tags/smart-contracts)

[View this post on daily.dev](https://daily.dev/posts/designing-a-production-ready-evm-indexer-sdk-in-go-architecture-design--yrvsqy3l5)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Designing a production-ready EVM indexer SDK in Go: architecture & design.","url":"https://daily.dev/posts/designing-a-production-ready-evm-indexer-sdk-in-go-architecture-design--yrvsqy3l5","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/designing-a-production-ready-evm-indexer-sdk-in-go-architecture-design--yrvsqy3l5"},"datePublished":"2026-02-02T09:26:03.312Z","dateModified":"2026-02-02T09:26:37.810Z","description":"Godex is a production-ready EVM blockchain indexer SDK built in Go with three core components: Processor (fetches on-chain data via RPC with reorg handling and...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/3beb06c02ded6ee5b161a5767d8a4c63?_a=AQAEulh","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/3beb06c02ded6ee5b161a5767d8a4c63?_a=AQAEulh","isAccessibleForFree":true,"articleSection":"Coins Bench","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Coins Bench","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ba340d3c8caa4c2586911332928e24d9","url":"https://daily.dev/sources/coinsbench"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/designing-a-production-ready-evm-indexer-sdk-in-go-architecture-design--yrvsqy3l5","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"architecture,golang,blockchain,ethereum,smart-contracts","timeRequired":"PT13M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Coins Bench","item":"https://daily.dev/sources/coinsbench"},{"@type":"ListItem","position":3,"name":"Designing a production-ready EVM indexer SDK in Go: architecture & design."}]}
```

