---
name: read-throughput
description: Read mainnet throughput and settlement time. Use feed.last60sTps for the live rate. Never quote ledger.lifetimeTps as the current rate. 0.01 USDC per call.
---

# Read throughput

## Buy

GET https://keespecs.grok.me/api/pulse. No query. 0.01 USDC. The dashboard shows the same numbers for free.

## Which number is live

- feed.last60sTps is operations on blocks from the last minute. If feed.last60sPartial is true, this page of blocks is shorter than a minute and the rate can read low.
- feed.last60sBlocksPerSec is blocks in that same minute, divided by 60. It is not operations per second.
- ledger.lifetimeTps is total transactions divided by seconds since 22 Sep 2025. It is not the live rate.
- feed.busiestSecond is the busiest one-second bucket in this page of blocks. It is not a network record.
- ledger.transactionCount and ledger.blockCount are totals. Poll them if you need a change over time.
- If feed is null, recent blocks did not load. last60sTps is then absent. Do not treat that as zero.
- The design target is 10 million tx/s. A 2025 stress test reached 11,122,116 tx/s. Neither is live.

## Settlement time

- GET https://keespecs.grok.me/api/settlement. No query. 0.01 USDC.
- medianMs is the median. p95Ms is the 95th percentile. Both are milliseconds.
- samples is how many settlement times are in that representative's record.
- This is one representative. It is not a measurement from another place.
- Pulse does not include these fields.

Catalogue: https://keespecs.grok.me/apis
Skills: https://keespecs.grok.me/skills
Sending, bridging, banks, cards, and identity: https://keeta.ai/llms.txt
