# Subgraph

> Senddy's indexed on-chain data for efficient querying.

Source: https://www.senddy.com/docs/technical/subgraph
Last modified: 2026-08-01T23:49:54.000Z

---

## Overview

Senddy uses an on-chain indexing service to index blockchain events. This provides efficient querying of commitments, nullifiers, deposits, and pool state without requiring direct blockchain node access.

## What's indexed

### Core data

- **Pool state** — Global pool configuration, nullifier accumulator, leaf count, total deposits and withdrawals
- **Deposits** — Individual deposit records with their lifecycle (pending, consumed)
- **Commitments** — Note commitments with their leaf index in the Merkle tree
- **Nullifiers** — Published nullifiers with accumulator state
- **Spend events** — Spend operations including nullifiers consumed, commitments created, and proof hashes
- **Shield events** — Shield operations linking deposits to new private commitments

### Financial data

- **Withdrawals** — Withdrawal events with recipient addresses and amounts
- **Fees** — Relayer fee payment records
- **Asset statistics** — Per-asset totals for deposits, withdrawals, and active balance
- **Daily aggregates** — Volume and transaction counts by day

### Strategy data

- **Strategy events** — Yield strategy operations including deposits, withdrawals, and harvests

## How it's used

The indexer serves two primary purposes:

### Client sync

The sync engine uses the indexed data to efficiently scan for new commitments and nullifiers relevant to a user's keys. Instead of scanning every block, the client queries the indexer for new data since its last sync point.

### Pool monitoring

The indexed data provides aggregate statistics about the pool's health, volume, and yield performance.
