Skip to content

graphprotocol/graph-tally

Repository files navigation

Graph Tally

Graph Tally (formerly TAP - Timeline Aggregation Protocol) is a trust-minimized payment system between Gateways and Indexers in The Graph network. It supports arbitrary data services built on Graph Horizon.

How it works

  1. Gateways send signed Receipts to Indexers alongside each query
  2. Indexers collect Receipts and periodically request aggregation
  3. Aggregator bundles Receipts into a signed Receipt Aggregate Voucher (RAV)
  4. Indexers redeem RAVs on-chain to claim payment from the Gateway's escrow

This reduces on-chain transactions from one-per-query to one-per-aggregation-period, drastically lowering costs while maintaining cryptographic guarantees via EIP-712 signatures.

A more detailed specification of the protocol can be found in the following GIPs:

  • GIP-0054 - Original TAP specification
  • GIP-0066 - Graph Horizon, introducing TAP v2 (renamed to Graph Tally)

Binaries

These services are run by Gateway operators. See each component's README for configuration and deployment details.

Binary Description Docker Image
graph_tally_aggregator Aggregates Receipts into signed RAVs GHCR
graph_tally_escrow_manager Manages escrow balances for Indexer payments GHCR

Libraries

Crate Version
graph_tally_core crates.io
graph_tally_receipt crates.io
graph_tally_graph crates.io
graph_tally_eip712_message crates.io

Contributing

Contributions are welcome! Please submit a pull request or open an issue to discuss potential changes. See the Contributing Guide for details.

About

A fast, efficient and trust-minimized unidirectional micro-payments system.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors