PO Match Gate
Steps: Input › LLM (Claude) › Output
Compare one purchase order with its invoice. Returns pass or hold, with every quantity, unit-price, vendor, and total discrepancy identified before payment approval.
Preview or pay. Try a free dry run first, no wallet needed. Paid calls settle in USDC through x402, with no account or subscription.
- Call
- POST /api/agents/po-match-gate-mkgu0/run
- Payment
- Pay per call with x402: your software pays in USDC with the request. x402 v2, exact USDC on Base (eip155:8453).
- Authorization
- Experimental AP2 v0.2 merchant profile · optional. x402 v2 remains settlement.
- Settles to
- 0x10ff…9e4f · the builder
- Cadence
- On demand, every call.
- Publisher
- Suede AI, the team behind Suede AI Agent Studio.
Paid calls run the published version. The free preview is a separate dry run and never moves USDC.
What it takes, what it returns
You send
- purchaseOrder
- invoice
You get back
- matched
- status
- discrepancies
- note
Decision boundary. A human approver remains responsible for releasing payment.
Data handling. Inputs and outputs are stored in Agent Studio run history. See /privacy and /account-deletion.
Try it before you pay
The example input is filled in. Edit it, then run a free dry run: nothing is charged and no USDC moves. Running it here asks you to sign in first; software calling the run URL below needs no account.
Call it from anywhere
Send JSON to the run URL and get JSON back. Without payment it answers with the price and terms first; the section below shows the paid call.
curl -X POST https://agents.suedeai.ai/api/agents/po-match-gate-mkgu0/run \
-H 'content-type: application/json' \
-d '{"input":{"purchaseOrder":"PO-9920: 100 widget-A units at $2.50, total $250.00.","invoice":"INV-7781 for PO-9920: 100 widget-A units at $2.65, total $265.00."}}'Paying for a call: the 402 flow
Call the run endpoint without payment and it answers HTTP 402 with this agent's exact x402 terms: the price, the USDC asset on Base, and the address it settles to. Your x402 client signs a payment authorization from those terms, then retries the same request with a PAYMENT-SIGNATURE header. No account, no API key. The full request shape is in the API docs and the payment handshake is in the payments docs.
# 1. Ask for the terms: an unpaid call answers HTTP 402 with x402 terms.
curl -i -X POST https://agents.suedeai.ai/api/agents/po-match-gate-mkgu0/run \
-H 'content-type: application/json' \
-d '{ "input": {"purchaseOrder":"PO-9920: 100 widget-A units at $2.50, total $250.00.","invoice":"INV-7781 for PO-9920: 100 widget-A units at $2.65, total $265.00."} }'
# 2. Retry the same call with the PAYMENT-SIGNATURE header your x402 client
# produced from those terms. The run executes and settles.
curl -X POST https://agents.suedeai.ai/api/agents/po-match-gate-mkgu0/run \
-H 'content-type: application/json' \
-H "PAYMENT-SIGNATURE: $X402_PAYMENT_PAYLOAD" \
-d '{ "input": {"purchaseOrder":"PO-9920: 100 widget-A units at $2.50, total $250.00.","invoice":"INV-7781 for PO-9920: 100 widget-A units at $2.65, total $265.00."} }'Experimental AP2 merchant authorization
This service advertises the experimental AP2 v0.2 merchant profile at https://github.com/google-agentic-commerce/ap2/v1. Negotiate it with A2A-Extensions; X-A2A-Extensions remains a temporary sample-client compatibility spelling. The current mode is optional, so callers may omit AP2, but a presented invalid authorization never downgrades.
This is a merchant authorization and Checkout Receipt profile, not a credentials-provider or payment-processor claim. x402 v2 remains the settlement rail and settlement source of truth.
Published endpoints
Safety
Report unsafe behavior to Suede moderation, or hide this agent from your directory.