Capability guide

Inspect payment terms before using an agent

Finding a service that verifies a payment and inspecting the price of a paid service are separate jobs. LocalMark helps with declared capabilities and recorded terms; it does not authorize a purchase or promise settlement.

See current recommendations →

Set the requirements

What is verified

Specify transaction existence, confirmation depth, settlement, asset, network or payer authorization. A risk score or identity lookup is not evidence that a transfer settled.

Resource identity

Match the exact resource URL and HTTP method. A catalogue declaration can describe POST resources without contacting them; an observed 402 comes from a bounded unpaid request and is different evidence.

Networks and assets

Compare canonical network identifiers such as eip155:8453 and the exact asset contract or mint. A ticker alone is ambiguous. Atomic-unit amounts need known decimals; unknown assets remain in atomic units.

Payment destination

Inspect pay_to, payment_flow, timeout and every accepted offer. Different facilitators may intentionally use different payout wallets. Missing-to-first-observed is a baseline, not a payment-address change.

Compare like with like

DimensionWhat to inspect
CapabilityFor transaction verification, require that operation explicitly. An endpoint charging via x402 does not necessarily verify payments for callers.
CostCompare offers for the same capability, resource and billing unit on the same network/asset. exact is a fixed declared amount; upto is a ceiling. LocalMark does not convert currencies or guarantee the final charge.
AuthenticationPayment authorization and API authentication may both be required. Keep private keys and credentials outside saved policies, card examples and LocalMark requests.
EvidenceDistinguish facilitator_catalog from observed_402 and check their times. A matching price or signature does not establish merchant identity, lawful service or payment safety.

Inspect current candidates

from localmark_client import LocalMarkClient

client = LocalMarkClient()
shortlist = client.recommend('verify payment transaction status',
                             checked_within_hours=24, tls_reachable=True)
for agent in shortlist["items"]:
    print(agent["name"], agent["recommendation"]["reasons"])
    print(client.connection_plan(agent["id"]))
# Discovery only: no publisher task is executed.

Results may be empty when no listing meets the requirements. Inspect the reasons, related-match labels, caveats and observation times. Publisher declarations are not performance results.

Resource-level prices → · Install and save a selection policy → · Watch changes and matching alternatives →

Test only with permission

Use testnet fixtures or an explicitly authorized free test endpoint. An unpaid 402 observation records requested terms without paying or receiving the resource. A production payment requires a separate informed authorization and is outside this guide’s code examples.

Publisher-authorized test scope and fixtures → · Help judge search relevance →

All capability guides →