Base Payment Assurance
Server Details
Dual-RPC Base USDC payment assurance with safe finality and exact transfer matching.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Most tools target a clearly distinct action (decode transfers, verify exact payment, check tx status, get safe head, plus three informational/credit tools). The main overlap is between decode_usdc_transfers (lists all transfers) and verify_usdc_payment (asserts one exact payment), and get_service_info vs get_payment_info are adjacent enough that descriptions are needed to separate them. Descriptions handle these edge cases well, so real confusion is limited.
Every tool follows a clean snake_case verb_noun pattern (decode_usdc_transfers, get_credit_balance, verify_usdc_payment, get_safe_head, etc.). Verb choice is predictable and consistent throughout the set.
Seven tools is well-scoped for a focused Base/USDC payment-assurance service. Each tool (verification, status, safe head, decoding, and the free info/credit helpers) earns its place with no redundancy.
The surface covers the core lifecycle: chain finality (get_safe_head), per-transaction status, transfer decoding, exact-payment verification, plus funding/credit and service metadata. Minor gaps remain, such as batch or historical verification and explicit error-inspection helpers, but agents can work around them.
Available Tools
7 toolsdecode_usdc_transfersDecode safe native Base USDC transfersADestructiveInspect
Decode all native Circle USDC Transfer logs from a Base transaction only after dual-RPC receipt agreement and safe finality. A not-found, failed, or not-yet-safe transaction is returned as an assurance result; RPC infrastructure failures refund the credit. Costs 1 credit.
| Name | Required | Description | Default |
|---|---|---|---|
| txHash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavior beyond the annotations: the dual-RPC receipt-agreement requirement, the finality gate, the fact that unsafe/failed/not-found txs return an assurance result rather than an error, and that RPC infrastructure failures refund the credit (cost model of 1 credit per call). The one loose end is destructiveHint=true, which the description never explains; the credit-consumption language reconciles readOnlyHint=false and idempotentHint=false (repeated calls recharge), but 'destructive' remains a stretch for a pure log-decoding operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, purpose front-loaded, and every clause earns its place: purpose/finality gate, non-error outcome semantics, cost and refund policy. No restating of the title or name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape detail is unnecessary, and the description covers preconditions, failure semantics, and billing. For a single-parameter tool it is nearly complete; the only meaningful omission is sibling differentiation against verify_usdc_payment, which an agent selecting between USDC tools would want.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (txHash) and schema description coverage is 0%, so the schema's regex pattern carries the format while the description adds only chain context ('from a Base transaction', i.e. a Base tx hash). That is mild but real compensation for the coverage gap; it does not clarify whether the hash may be from another chain or what happens if the tx is not on Base.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Decode) + precise resource (native Circle USDC Transfer logs) + chain (Base) and a scoping condition (only after dual-RPC receipt agreement and safe finality). An agent can distinguish this from siblings like get_transaction_status or verify_usdc_payment without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a real invocation precondition ('only after dual-RPC receipt agreement and safe finality') and states what happens for not-found/failed/not-yet-safe chains. It does not, however, name an alternative tool or an explicit when-not-to-use case among the siblings (verify_usdc_payment, get_transaction_status), so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_credit_balanceGet credit balanceARead-onlyIdempotentInspect
Check the remaining prepaid credits for the bearer token configured on this MCP connection. This call is free and does not consume credits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered structurally. The description adds two non-obvious behavioral facts: the balance is per-connection bearer token, and the call itself has zero credit cost — real value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource and followed immediately by the cost caveat. No filler, no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. What remains absent is any note on failure modes (e.g., expired or missing token), which for a zero-parameter auth-scoped tool would be the only missing piece.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, which sets the baseline at 4; the description correctly implies no inputs are needed because scope is derived from the connection's token rather than from arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (check) plus the exact resource (remaining prepaid credits) and scopes it to the credential in use ('the bearer token configured on this MCP connection'). No sibling tool touches credits, so there is no ambiguity to resolve; an agent knows exactly what this returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent this call is free and does not consume credits, which is the key decision input for calling it (e.g., safe to probe before a paid operation). It does not name alternatives or state when-not-to-call, but the sibling set is unrelated, so no routing guidance is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_payment_infoGet prepaid credit purchase informationARead-onlyIdempotentInspect
Free instructions for buying this service's prepaid API credits with direct native Base USDC. Returns the exact receiver, package amount, credit quantity and self-service purchase path. This funding payment is separate from any transaction that you later ask the assurance tools to inspect.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| asset | Yes | |
| scheme | Yes | |
| chainId | Yes | |
| network | Yes | |
| packages | Yes | |
| receiver | Yes | |
| redeemFlow | Yes | |
| buyerPaysGas | Yes | |
| purchasePath | Yes | |
| assetDecimals | Yes | |
| x402Compatible | Yes | |
| facilitatorRequired | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint/idempotent/non-destructive, and the description is consistent with them. It adds value beyond the annotations by stating the call is free and by clarifying that this is informational only and does not inspect or validate an on-chain transaction — an important non-obvious boundary given the USDC-related siblings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler: the first leads with the action and its cost, the second lists outputs, the third scopes it against adjacent tools. Every sentence earns its place and the most important fact (free, what it returns) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with an output schema present, the description supplies everything an agent needs: it is free, read-only, informational, and explicitly not a transaction-verification call. Return-value details are additionally summarized, and no auth or side-effect caveats are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. The description's mention of receiver, amount, and credit quantity describes returned data rather than inputs, so there is nothing further it needs to disambiguate on the input side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (get prepaid credit purchase instructions) and enumerates what comes back: receiver, package amount, credit quantity, and purchase path. The closing sentence draws a boundary against the sibling verification tools (verify_usdc_payment, decode_usdc_transfers), so an agent can tell it apart from the assurance-tool family without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly frames the context of use ('funding payment is separate from any transaction that you later ask the assurance tools to inspect'), which implicitly routes agents away from the verification siblings. It does not explicitly name when to prefer get_credit_balance or verify_usdc_payment, so it stops short of full when/when-not guidance with named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_safe_headGet Base safe headADestructiveInspect
Return the conservative Base Mainnet safe head after consulting both configured public RPCs. If the RPC quorum is unavailable or inconsistent, the call fails closed and the spent credit is refunded. Costs 1 credit.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful behavioral context beyond annotations: it consults both configured public RPCs, fails closed on quorum unavailability or inconsistency, refunds spent credit on failure, and costs 1 credit. However, it does not explain why annotations mark the operation as destructive or non-idempotent, leaving an important behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and front-loads the core purpose before adding failure behavior and cost. Every sentence adds relevant information without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and zero input parameters, the description does not need to explain return values. It covers the key operational context, including RPC quorum behavior, fail-closed handling, refunds, and cost, though it leaves the destructive annotation unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to document. Per the scoring baseline for zero-parameter tools, a 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: return the conservative Base Mainnet safe head after consulting both configured public RPCs. It is clearly distinguishable from sibling tools, which focus on payments, credits, and transaction status. The scope and mechanism are stated without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool is relevant by defining what it returns, but it does not explicitly state when to use it versus alternatives or when not to use it. No sibling tool overlaps directly, so implied usage is adequate but not strong guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_service_infoGet assurance service informationARead-onlyIdempotentInspect
Free overview of the Base Payment Assurance service. Use this to learn the supported chain/token, dual-RPC quorum, safe-finality requirement, exact-transfer policy, fail-closed behavior, and per-call credit cost. This tool does not inspect a transaction and does not require a bearer token.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| asset | Yes | |
| chainId | Yes | |
| network | Yes | |
| service | Yes | |
| experiment | Yes | |
| assurancePolicy | Yes | |
| protectedToolsCostCredits | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, and non-open-world, so the safety profile is covered. The description adds genuinely new context beyond those hints: the call is free (no credit spend), requires no bearer token, and does not inspect any transaction. Auth and cost behavior are exactly the traits annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no filler: the purpose and price lead, the coverage list follows, and the exclusions close. Every clause carries information an agent would otherwise have to guess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described; what the agent does need — what topics the info covers, that it is free, that no token is needed, and that it is not a transaction lookup — is all present. Nothing required for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to document and the baseline is 4. With 100% schema coverage and an empty input object, nothing is left ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (the Base Payment Assurance service) and frames it as a free overview, plus enumerates the concrete facts it exposes (chain/token, dual-RPC quorum, safe-finality, exact-transfer policy, fail-closed behavior, credit cost). It clearly separates itself from transaction-inspecting siblings via negation, though it does not name an alternative directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states an explicit use case ('Use this to learn...') and sets boundaries ('does not inspect a transaction and does not require a bearer token'), which tells the agent when this tool is and is not appropriate. It lacks an explicit routing statement naming a sibling for the transaction-inspection case, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transaction_statusGet Base transaction statusBDestructiveInspect
Check whether a Base Mainnet transaction is not found, confirmed, safe, or failed using two independent RPCs. No payment assumptions are made. RPC quorum/inconsistency failures refund the credit. Costs 1 credit.
| Name | Required | Description | Default |
|---|---|---|---|
| txHash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames this purely as an informational query ('Check whether...'), which implies a safe, idempotent read, while the annotations declare readOnlyHint=false, destructiveHint=true and idempotentHint=false. That is a direct conflict between the described behavior and the structured safety profile. Per the rubric, a description that contradicts annotations scores 1.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the core purpose, then the RPC strategy and the credit/refund policy. Every sentence carries information, though 'using two independent RPCs' and the payment-assumption note could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description usefully adds the cost and the refund-on-quorum-failure policy plus the independence of the two RPCs. The one real gap is that it never acknowledges the destructive/credits-spending safety profile the annotations claim.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description does not compensate for the single parameter, and it says nothing about txHash (e.g. that it must be a Base Mainnet hash). The only format guidance comes from the schema's regex pattern, which is quite self-documenting, so a baseline 3 is fair.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb and resource ('Check whether a Base Mainnet transaction...') and enumerates the possible outcome states (not found, confirmed, safe, failed). The clause 'No payment assumptions are made' implicitly distinguishes it from payment-verification siblings such as verify_usdc_payment. It never names a sibling explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: check a Base transaction's status, and the 'no payment assumptions' note suggests it is the non-payment counterpart to verify_usdc_payment. However, there is no explicit when-to-use / when-not-to-use statement and no named alternative, so the agent must infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_usdc_paymentVerify exact Base USDC paymentADestructiveInspect
Assure that a specific Base transaction contains an exact native Circle USDC Transfer from the expected payer to the expected receiver for the exact atomic amount. Verification requires two-RPC receipt agreement and safe finality. Use a decimal atomic amount string (USDC has 6 decimals). RPC infrastructure failures refund the credit. Costs 1 credit.
| Name | Required | Description | Default |
|---|---|---|---|
| txHash | Yes | ||
| expectedPayer | Yes | ||
| expectedReceiver | Yes | ||
| expectedAmountAtomic | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag non-read-only, open-world, and destructive behavior, and the description adds genuine extra context: two-RPC receipt agreement, safe finality requirement, credit cost, and a refund policy for RPC failures. These are valuable traits not derivable from the structured fields, though it does not reconcile why a verification tool carries destructiveHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then layers in the amount format, finality/RPC mechanics, and billing. Five tight sentences; every line carries information, though the billing/refund detail could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers the matching criteria, cost, and failure-refund behavior adequately. The main gap is the absence of explicit routing guidance against the sibling verification/inspection tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it only clarifies expectedAmountAtomic (decimal atomic string, 6 decimals). txHash, expectedPayer, and expectedReceiver are left to their expressive names and regex patterns, adding partial but not complete semantic coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource: verify a Base transaction contains an exact native Circle USDC Transfer from expected payer to receiver for the exact atomic amount. It is unambiguous about the chain, token standard, and matching criteria, and clearly distinct from siblings like decode_usdc_transfers and get_transaction_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what verification entails (two-RPC receipt agreement, safe finality) and its cost, giving implied usage context, but it never says when to reach for this tool over decode_usdc_transfers or get_transaction_status. No explicit alternatives or exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
decode_usdc_transfers - First observed
get_credit_balance - First observed
get_payment_info - First observed
get_safe_head - First observed
get_service_info - First observed
get_transaction_status - First observed
verify_usdc_payment
Publisher details
- Operator
- PGhannmmn · Publisher source
- Operator website
- https://github.com/PGhannmmn · Publisher source
- Vendor relationship
- Independent
- Trust center
- Unknown
- Restrictions
- Base Mainnet and native Circle USDC only. Service and payment information are free without a credit token. Protected assurance tools require a configured bearer credit token and consume 1 prepaid credit per completed call; completed negative results also consume a credit. The credit balance check requires the token but is free. RPC infrastructure failures refund the charge. 0.11 USDC buys 100 credits; buyers pay Base gas. The service never signs or broadcasts transactions. · Publisher source
Related MCP Connectors
Dual-RPC Base USDC receivables reconciliation with safe finality and fail-ambiguous matching.
41Escrow protection for agent payments on Base — USDC held in smart contract until job completion.
Escrow protection for agent payments on Base — USDC held in smart contract until job completion.
PaymentOracle — ES256K-signed receipts for x402 payments on USDC+EURC (Base) and XRP+RLUSD (XRPL).
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to make non-custodial USDC payments on Base through an MCP endpoint, with server-enforced per-payment and daily caps, human approval bands, and recipient allowlists.757 npmMIT
- AlicenseNot gradedqualityBmaintenanceUSDC payments for AI agents on Base. Direct transfers, pre-funded tabs, x402 paywall handling, and service discovery.74 npmMIT
- FlicenseNot gradedqualityAmaintenanceEnables agents to vet merchants, create and verify USDC charges and invoices, assess trust and tokenized-asset authenticity, and manage provable books on Base, all non-custodially.39 npm-
- AlicenseNot gradedqualityFmaintenanceAI payment router for routing across 300+ LLM models with per-request USDC settlement on Base and Tempo, session budgets, and x402 payments via the MCP protocol.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.