About the Role
You will take ownership of the Midnight Indexer, the Rust service that streams blockchain data from Midnight nodes to wallets and end-user applications through a high-performance GraphQL API. You will design, build, and operate the chain indexer, wallet indexer, SPO indexer, and GraphQL API, keeping the architecture modular and maintainable. You will build and maintain the data pipeline that fetches blocks and transactions from the Midnight node via subxt, handle finalized-block tracking, gap backfilling, and continuous real-time indexing. You will design efficient schemas and queries across PostgreSQL and SQLite, and keep latency and throughput healthy as the chain grows. You will evolve the GraphQL API with queries, mutations, and real-time subscriptions over WebSockets, taking care with secure sessions and correct handling of shielded data. You will write and maintain unit, integration, and end-to-end tests, treating reliability and correctness as first-class concerns. You will own operational quality for the service including observability, containerised deployment with Docker, and incident response. You will participate in code reviews and technical design discussions, and collaborate closely with the node, ledger, wallet, and security teams as you grow into adjacent components.
Requirements
- At least 3 years of experience in software development, with at least 2 years in Rust
- Strong idiomatic Rust including async/await (tokio) and concurrency
- Backend / data-systems experience building and operating high-performance services or data pipelines in production
- Practical experience with PostgreSQL and/or SQLite including schema design and query optimisation
- API design experience, with GraphQL experience a big plus
- Sound computer-science fundamentals including data structures, algorithms, and concurrency
- Experience with rigorous testing, code review, and clear technical communication
- Effective remote collaboration across time zones
- Experience with blockchain technology is a plus
- Experience working in scale-ups
Responsibilities
- Design, build, and operate the Indexer's components in Rust including the chain indexer, wallet indexer, SPO indexer, and GraphQL API
- Build and maintain the data pipeline that fetches blocks and transactions from the Midnight node via subxt
- Handle finalized-block tracking, gap backfilling, and continuous real-time indexing
- Design efficient schemas and queries across PostgreSQL and SQLite
- Evolve the GraphQL API with queries mutations and real-time subscriptions over WebSockets
- Write and maintain unit integration and end-to-end tests
- Own operational quality including observability containerised deployment and incident response
- Participate in code reviews and technical design discussions
- Collaborate with node ledger wallet and security teams
- Keep current with developments in Rust and blockchain technology