POST-PAYMENT RECONCILIATION FOR AI AGENTS

Every agent payment, closed.

AgentClose starts after an agent pays—matching every payment to its request, delivery, and receipt, then surfacing anything that does not reconcile.

The last mile of agent payments.From money moved to transaction closed.

Post-payment onlyNon-custodialAsync by defaultRail-neutral designStripe + x402 adapters
ILLUSTRATIVE TRANSACTIONresearch-agent / task_8F2
Exception
  1. 1
    TASKResearch 20 companiesbudget $10.00
  2. 2
    REQUESTcompany-data.apireq_4A81 · attempt 02
  3. 3
    PAYMENT$0.12 confirmedpay_72BC · proof verified
  4. !
    DELIVERYNo result observedtimeout after 12,000 ms
PAID_NO_DELIVERYDo not retry payment yet
01

Payments move in milliseconds. Business context should keep up.

THE MISSING LAYER

Four systems see fragments.
None sees the purchase.

At agent speed, a wallet balance is not an answer. Teams need to know why money moved and whether the promised result arrived.

01

Agent runtime

Knows the goal, agent, task, and request—but not whether funds truly settled.

task.started
02

Payment rail

Knows the amount, payee, and confirmation—but not what the agent intended to buy.

payment.confirmed
03

Service provider

Knows the API response—but not whether it belongs to the right payment or retry.

delivery.unknown
04

Receipt

Describes a charge—but not its parent task, project, or effective delivered cost.

receipt.observed

AgentClose creates the fifth fact

Agent+Task+Payment+Delivery+Receipt
One replayable transaction lifecycle.

HOW IT WORKS

Observe beside the payment path.
Never block it.

AgentClose records facts asynchronously. If it is unavailable, the agent keeps working and events reconcile when the connection recovers.

YOUR SYSTEMAgent runtimetask + request
existing payment
PROVIDERPaid APIdelivery + receipt
ASYNC OBSERVERAgentClosematch → reconcile → explain
01

No keys

Never stores private keys or signs on the agent’s behalf.

02

No funds

Never holds, routes, converts, or settles customer money.

03

No payment control

Does not approve budgets or decide whether an agent can pay.

04

No lock-in

Designed to normalize events across rails, wallets, facilitators, and service types.

INTEGRATE AT THE RUNTIME

Wrap the call.
Keep your payment stack.

The runtime is where task intent still exists. Install @agentclose/x402 from npm, use agentclose from PyPI, or send events directly to the API—while your existing payment client continues to execute payments.

  • Stable agent, task, and request identifiers
  • Payment proof normalization
  • Delivery evidence and result hashes
  • Machine-readable receipts
agent.tsNPM · @agentclose/x402
// npm install @agentclose/x402

// Keep your existing payment client
import { AgentClose } from "@agentclose/x402";

const close = new AgentClose({
  baseUrl: "https://api.apibridge.cc",
  apiKey: process.env.AGENTCLOSE_KEY
});

const paidFetch = close.wrapX402Fetch(x402Client);
const result = await paidFetch(url, undefined, {
  agentId: "research-agent",
  taskId: "research-001",
  requestId: "request-001",
  accountingAmount: { amountMinor: 8, currency: "USD" }
});
transaction.closedexample event output

PYTHON INTEGRATION

One package.
Two integration paths.

Capture payment evidence from Python, then let agents query reconciled outcomes through the read-only MCP server. Both paths ship from the same agentclose package.

Python package agentclose · v0.1.0Built and integration-tested for Python 3.10+.
AVAILABLE ON PYPI ↗
SDK · COLLECTION PATH

Capture from Python runtimes.

Sync and async clients, batch capture, retries, fail-open behavior, and an x402 observer—without replacing the payment client.

pip install agentclose

from agentclose import AgentCloseClient, Event

with AgentCloseClient(
    api_key="acl_..."
) as client:
    client.capture(Event(
        type="request.started",
        data={
            "agent_id": "research-agent",
            "task_id": "research-001",
            "request_id": "request-001"
        }
    ))

The Python SDK and read-only MCP server ship together in the agentclose PyPI distribution. The TypeScript/x402 integration above remains a separate runtime path.

THE RECONCILIATION CONTRACT

Three facts in. One closed lifecycle out.

AgentClose correlates post-payment evidence without replacing the systems that produced it.

01 · RUNTIME CONTEXTWhat was the agent trying to do?agent_idtask_idrequest_id
02 · PAYMENT FACTSWhat money actually moved?payment_idamount + statuspayment_proof
03 · DELIVERY EVIDENCEWhat did the provider return?delivery_statusresult_hashreceipt
RECONCILED TRANSACTIONresearch-agent / task_9C1

$0.08 confirmedresult deliveredreceipt linked

CLOSED
transaction.closedexception.codereceipt.jsontask.cost

EXCEPTIONS, EXPLAINED

Find the gap before
the next retry.

Every exception comes with evidence and a recommended next action—not another opaque alert.

DUPLICATE_PAYMENT+

One request. Two payments.

Link retries and payment proofs back to the same request before cost disappears.

EVIDENCE1 request_id + 2 confirmed paymentsNEXT ACTIONStop the retry chain and preserve both proofs.
AMOUNT_MISMATCH+

Quote and charge diverged.

Compare the price the agent accepted with the amount that actually settled.

EVIDENCEquoted_amount ≠ settled_amountNEXT ACTIONCompare the accepted quote with the payment proof.
ORPHAN_PAYMENT+

Money moved. Task unknown.

Surface spend that cannot be assigned to an agent, task, project, or cost center.

EVIDENCEpayment confirmed + no task/request matchNEXT ACTIONInspect runtime events and assign the cost manually.

BUILT FOR AGENT OPERATORS

One view for builders,
operators, and finance.

01

Agent developers

Debug retries, provider failures, and payment state without stitching together five logs.

Trace every run +
Task-to-transaction timelineRetry and attempt lineageException webhooks
02

Agent platforms

Give every agent and tenant a consistent transaction history across payment providers.

Normalize every rail +
Unified payment event schemaAgent and tenant attributionCross-provider transaction view
03

Finance teams

Assign spend to tasks and projects. Separate delivered cost from exception cost.

Close every period +
Project and cost-center mappingDelivered vs. exception spendReconciliation export

SIMPLE PRICING

Start with one
reconciliation workspace.

One plan for teams proving paid-agent workflows. Taxes, where applicable, are calculated at checkout.

AGENTCLOSE PRO

$49USD / month

14-day free trial. Cancel before the trial ends to avoid the first charge.

Start free

Included each month

  • 100,000 unique reconciliation events
  • Task, request, payment, delivery, and receipt matching
  • Duplicate-payment and missing-delivery detection
  • Dashboard, transaction history, and CSV exports
  • Stripe and x402 event adapters
  • Signed exception webhooks

Usage is measured by unique accepted events within each UTC calendar month. Replayed events with the same idempotency key are not counted twice.

AgentClose never holds funds, stores wallet keys, or processes card details.

Full pricing details

AGENT PAYMENT FAQ

Built for a new kind
of transaction.

Clear answers for teams evaluating agentic payments, x402, and paid API reconciliation.

What does AgentClose do after an agent pays?+

AgentClose connects the payment to the agent, task, request, service delivery, and receipt. It produces one explainable transaction lifecycle and surfaces exceptions such as paid-without-delivery, duplicate payment, amount mismatch, and unassigned spend.

Why are payment logs not enough?+

A payment log proves that money moved, but usually does not know why the agent paid, which retry produced the charge, whether the service was delivered, or which receipt and project belong to the transaction. AgentClose correlates those separate facts.

How do I integrate AgentClose?+

Send task, request, payment, delivery, and receipt events through the AgentClose API, TypeScript wrapper, or Python SDK. Events are recorded asynchronously, so your existing wallet, x402 client, and payment path continue to work unchanged.

What can the AgentClose MCP server do?+

The read-only MCP server lets compatible agents query transactions, task cost, payment status, usage, and open exceptions. It cannot send payments, capture new events, resolve exceptions, rotate keys, or modify reconciliation data.

Does AgentClose custody wallets or funds?+

No. AgentClose is a non-custodial, asynchronous observer. It does not store private keys, sign payments, hold funds, route money, or replace your existing wallet or payment provider.

Does AgentClose approve payments or control agent budgets?+

No. AgentClose begins after payment. It does not approve budgets, authorize purchases, or decide whether an agent can pay. Wallets, payment controls, and products such as AgentLedger can remain upstream.

Is AgentClose designed for x402 payments?+

Yes. AgentClose supports x402 and paid API workflows through a rail-neutral event model that also accommodates Stripe and other payment providers.

Is this an AI agent spend management tool?+

It provides task-level spend attribution and exception cost reporting, but its core job is reconciliation: proving what an agent paid for, whether the service was delivered, and which receipt belongs to the transaction.

SELF-SERVICE ACCESS

Your agents are starting to pay.
Make every payment explainable.

Sign in with Google to create your workspace and first Agent project. Existing users return to their current workspace.

Continue with Google No password to create. Need help? support@apibridge.cc
Google authentication is used only for account access.