Documentation v1.0 has been released! Staking Guide, Protocols, Glossary, FAQ, and Support sections have been added.

πŸ“‘FOMO

What is FOMO?

FOMO is a high-load data service providing historical and current balance snapshots for any Ethereum address. It enables to seamlessly integrate comprehensive financial histories and up-to-date on-chain balances into wallets, DeFi services, analytics platforms, and other blockchain infrastructure products.

FOMO enables users to retrieve historical balance data for a specified Ethereum address via a simple HTTP endpoint

Main Objectives:

The system aims to solve various problems related to the lack of quick access to historical balances in public RPCs, among which FOMO can provide an answer to

  • How many staking opportunities were lost?

  • Quick access to historical balances

  • What opportunities and investments available now?

System and reliability

FOMO is an elaborate project aimed at facilitating the real-time loading and retrieval of historical Ethereum balances associated with specific addresses

Service
Description

Node

The Node service is a custom-built database that securely stores all balance data. Its optimized structure enables fast, reliable data access across the entire FOMO system.

Writer

The Writer service transfers balances from traditional database to Nodes using gRPC. It ensures efficient data loading, keeping the system synchronized and up to date.

Parser

The Parser service continuously parses real-time balance data directly from Ethereum nodes. It updates balances instantly, ensuring the system always reflects the latest state.

Reader

The Reader service handles all balance read requests, accepting queries over HTTP. It retrieves data from Nodes via gRPC to deliver fast and consistent results.

Checker

The Checker service verifies data accuracy and completeness stored in Nodes. It performs routine audits by comparing random Node entries with ClickHouse records to ensure integrity.

FOMO has a cluster architecture, where each cluster is independent. Replication is also implemented, which ensures the reliability of the system: if one cluster fails, the other clusters replace it.

  • Backup mechanism that increases system reliability

  • Scaling logic, which makes it easier to maintain

Performance Overview

When a request is made, the system reads the relevant file and returns clean JSON β€” all in <100ms.

  • One API call

  • No sync time

  • Clear gRPC interface

Just plug in an Ethereum address - FOMO handles the rest!


Stress Test (4 nodes)

Results

  • The average response time is about 100 ms


  • The service’s approximate RPS is over 1000


  • At a load of 1000 concurrent requests, the system remains completely stable


  • The 99th percentile response time - in average 700 ms

  • Ethereum balances indexed in 6 hours


Input parameters

  1. 100k addresses (for each test case)

  2. 100 / 100 concurrent requests

  3. All addresses / tokens are unique

Cover

Average response time

Cover

Approximate RPS

Cover

Longest response time

Use Cases

Why FOMO is needed?

Wallet providers aim to enrich user experience and transparency by showing complete financial histories and real-time balances inside the wallet app. Many wallets currently only show the current balance or require heavy infrastructure to display historical states.

How FOMO helps?

  • Retrieve historical snapshots to display how a user's ETH or token holdings changed over time.

  • Show users their net worth trends directly in-app.

  • Enable users to verify their portfolio at specific dates (e.g., tax reporting, proof of funds).

  • Provide pre-send transaction validation by instantly checking the live on-chain balance before broadcasting a transaction.

Where display?

  • Portfolio or Assets screen showing historical balance charts.

  • Transaction History extended with contextual balances before and after transactions.

  • Tax and Reports section for exporting historical balances for accounting.

Example

A user with pubkey 0xfcfe0c43c952c946bd21b5d8d6c3577ede2a0e88 opens his wallet and sees:

Date
Balance, ETH
Balance, USD

2025-01-04

0.1000

320.000

2025-04-28

0.3012

963.860

2025-06-20

0.3342

1069.440

All powered by instant retrieval from FOMO without the wallet needing its own blockchain node and archive infrastructure'

Request:

Response:

Response time: 0.0789103 sec

Endpoint Overview

To test the Reader service, you may execute a sample request using the following curl command:

JSON schema of response:

Example Response:

The /last_balance endpoint retrieves the most recent balance entry for a specified account, focusing on either native or token balances. It shares the same JSON schema as the /balances endpoint, ensuring consistency across responses.

Request

JSON schema of response:

The response will adhere to the same JSON structure as the /balances endpoint.

Example Response:

This endpoint is useful for obtaining the latest balance quickly without querying the full balance history.