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.
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
| Dimension | What to inspect |
|---|---|
| Capability | For transaction verification, require that operation explicitly. An endpoint charging via x402 does not necessarily verify payments for callers. |
| Cost | Compare 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. |
| Authentication | Payment authorization and API authentication may both be required. Keep private keys and credentials outside saved policies, card examples and LocalMark requests. |
| Evidence | Distinguish 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 →