The deployed tools/list schemas are authoritative. Unknown fields are refused by the documented argument types. Optional does not mean meaningful in every combination: identity, window, and subject rules still apply.
health_check
Arguments: {}. Shallow process/connect diagnostics: configured chain IDs, version, catalog counts, and payment rail. It does not probe dependency health. A health response is not proof that a particular metric window is available.
inspect
Arguments: subject plus only that subject's relevant fields. Metadata and inventory, not metric values. Subject-specific stray fields are rejected.
| Subject | Required extra fields | Optional extra fields | Purpose |
|---|---|---|---|
functions |
None | None | Catalog template slugs |
function |
function_slug |
None | Template description, params schema, row schema, and live declared bindings |
bound_functions |
None | function_slug |
Live identities; grouped inventory or filtered IDs |
bound_function |
bound_function_id |
None | Scope, materialized/materializing ranges, active jobs |
jobs |
None | None | Job inventory |
job |
job_id |
None | State, paid window, block progress, errors |
chains |
None | None | Configured chains and heads |
chain |
chain_id |
None | One chain's landmarks |
channels |
payer |
network |
Buyer's open batch-settlement escrow channels |
nft |
wallet |
None | Wallet's claim-right accounting and purchases |
pricing |
None | None | Published meter rates |
payer and wallet are public 0x addresses, not signing keys. The optional channel network is a CAIP-2 identifier such as eip155:84532; use a value actually offered by the service.
bind
Required: function_slug (string), chain_id (unsigned integer). Optional: params (object; defaults to empty). Template-specific requirements come from inspect subject:function.
Returns a scope-bound identity, canonical debug name, template, chain, parameters, and created. Rebinding the same scope is idempotent. No block window belongs in this call; no metric values are returned.
ask
Required: metric (string, at most 500 characters), chain_id (unsigned integer). Optional: function_slug (string), params (object, defaults to empty), and paired from_block/to_block (unsigned integers).
Selects an existing catalog Function (or a declared binding, per the live 0.6.0 instructions) and binds the question's scope. It authors nothing. An unsupported question returns error / unsupported with needs. A success carries the bound-function card, description, row schema, created, follow, and retention disclosure; it is not a metric value series.
A suggested response asks for parameters or a window. Merge the operator's answer under the field named by resume and repeat. See question resolution. bind_prompt and the old address, context, shape, and explain inputs are no longer advertised.
materialize
Unpaid arguments: bound_function_id; optional paired from_block/to_block; optional extra_cache_days (unsigned integer, default 0). For an explicit workflow, state both block ends. Omitted or zero extra cache days adds no extra retention line; the implementation includes a 24-hour land stamp.
Computes and caches unpaid holes, excluding existing coverage and open paid jobs. An unpaid request freezes work and returns payment_required when chargeable holes remain. A paid execution uses only payment_id; restated work fields do not replace the frozen scope. Paid execution returns success, result: "materializing", and a job handle. Inspect its job_id until done or failed. Coverage and progress remain on inspect.
For a Function that carries state across blocks, the window is quoted, billed, and walked from its contract's creation block. A window ending at or before creation is refused. A future tail waits until the chain head reaches those blocks; a stateful job can remain queued until its preceding coverage is complete.
pay_quote
Required: quote_id (string). Optional: payload (string). Settles a quote frozen by materialize or read, returning payment_id and settlement information. Real x402 settlement expects signed v2 payment JSON serialized as text. Omit payload only on mock. Never send a private key or a caller-invented amount.
The payment ID is usable only within that quote's lifetime. See payments.
read
Either payment_id alone, or bound_function_id with optional key (object mapping key-part names to strings) and paired from_block/to_block (unsigned integers).
Omit both block ends to request the latest materialized block, which need not be the chain head. Every returned row includes all its attributes. key filters a leading run of the key parts listed after block in the Function's row schema; it does not change the bound scope. For example, use {"token":"<TOKEN_ADDRESS>"} only when token is the first advertised key part. Unknown names, skipped leading parts, and malformed typed values are refused before quoting. attributes and entity are retired inputs.
Returns bare values, typed by the Function’s row schema from inspect, never a coverage inventory and never new indexing. There is no cursor or limit argument. Split deliberate block windows when needed. A not-fully-covered request returns range_unavailable; it does not silently answer only the covered prefix.
provenance
Required in a usable request: bound_function_id (string), from_block and to_block (unsigned integers). Expand the exact contributing source blocks for the bound function and window. No attribute argument is accepted. Compare the recomputed digest with the corresponding compact ChainRange.digest or REST row's provenance.digest where available. The response is bounded to at most 10,000 contributing blocks; narrow larger requests. An empty blocks list is an empty enumeration; an absent evidence field must not be treated as an empty result.
stop
Required: bound_function_id, wallet, and quote_id (strings). The wallet must be the current NFT owner of that quote's claim-right, checked at the chain tip when a collection is configured. Cancels the named in-flight materialize quote and attempts to refund unspent blocks. Delivered rows and other jobs remain. Inspect returned jobs, refunds, errors, and any unstopped rows; success alone does not establish that every refund settled.
claim_rewards
Required: wallet (string). Claims that wallet's eligible unclaimed USDC atoms, using current claim-right ownership. The minimum is 10,000 atoms ($0.01); amounts below it return claimed "0" and reason: "below_minimum" without a transfer. Inspect its nft card before and after claiming. This operation pays existing eligible rewards; it does not promise earnings or create a claim-right simply from a data read.
See tool reference JSON for the same input-field inventory in a machine-readable form.