Skip to main content
Glama

Global settlement feed

list_transactions
Read-only

Every indexed settlement, newest first, filterable by how confidently it is known to be an x402 payment.

Wraps GET /v0/transactions. Access: requires an API key (Authorization: Bearer rh_live_… or x-api-key).

Returns:

  • transactions: Settlement rows, newest first. Each row also carries is_self_payment (payer = payee, annotated rather than only excluded — a third of the feed can be self-payment) and evidence: { verified, method, probability, tier }. verified is THREE-VALUED — true a named facilitator relayed it, false examined with no EIP-3009 marker, and null gasless and authorized but NOT ESTABLISHED as x402, which is not the same as disproven. tier is proven | probable | unproven | not_x402 | ungraded.

  • next_before: Cursor for the next page, or null. Minted from the rows READ, not the rows shown, so exclude_self_payments cannot end the walk early.

  • meta: The chain served and as_of. On a non-empty page meta also carries page_self_payments, page_self_payment_usd, page_gross_usd and page_organic_usd. All four are THIS PAGE only, as the names say: they are not site-wide figures and summing them across pages is not a total. self_payments_excluded is set when the page was filtered.

Input Schema

NameRequiredDescriptionDefault
limitNoRows to return. Clamped to 100; values outside the range are clamped, not rejected.
beforeNoOpaque cursor from a previous response's `next_before`. It encodes the whole sort key, tiebreaker included, so a page boundary inside a group of rows sharing a timestamp does not skip the rest. Do not parse it or build one by hand.
min_probabilityNoKeep only rows at or above this x402 confidence. `1.0` is proven by a named facilitator having relayed it; `0.05` is a bare transfer to a catalogued address. Read `evidence` on the row rather than thresholding this number blind — the ladder has five rungs and the gap that matters is `verified: true` against `verified: null`, not a decimal.
exclude_self_paymentsNoSet to `true` to drop rows where payer = payee. Off by default: a feed is a record of what happened and a wallet paying itself did happen, so the rows are ANNOTATED (`is_self_payment`) rather than hidden. Applied after the page is read, so a filtered page can be short of `limit` while more rows remain — keep following `next_before`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld/non-destructive, and the description adds substantial context beyond them: the API-key auth requirement, the wrapped endpoint GET /v0/transactions, the three-valued `verified` semantics (true / false / null-not-disproven), and the warning that meta aggregates are page-scoped and not summable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the one-sentence purpose, then a structured Returns block with bolded field names; nearly every sentence carries information. Minor waste where return-value prose re-explains filter behavior already covered in the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must carry the return contract, and it does: field-by-field semantics for transactions, next_before, and meta, including the non-obvious caveats that matter for correct aggregation. An agent can paginate and interpret results without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the parameter descriptions are already detailed (cursor opacity, clamping, five-rung confidence ladder), so the bar is high. The description adds only marginally — clarifying that `next_before` is minted from rows read so `exclude_self_payments` cannot end the walk early — which largely restates the schema's own exclude_self_payments note.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence gives a specific verb+resource ('every indexed settlement, newest first') and scoping ('global' feed) that implicitly separates it from entity-scoped siblings such as list_entity_settlements. It never names an alternative explicitly, so differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the filter semantics and pagination instructions ('keep following next_before'), but there is no explicit statement of when to choose this feed over list_entity_settlements or run_sql, and no exclusions or prerequisites beyond the API-key note.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources