Your agents decide what to buy.
PayDuct does everything after.
The orchestration layer between your AI agents and every payment rail. One API call handles policy, routing, approvals, cryptographically-signed receipts, and an immutable audit trail — so you never write a line of payment code.
Agentic commerce went live. The hard part just moved.
Stripe Link for Agents fired the starting gun — autonomous agents can finally spend without exposing credentials. But it handed every team a second, harder problem.
Credential exposure
Agents no longer need raw card numbers. Stripe Link issues scoped, single-use tokens. The unlock that made agent spending real.
Everyone is now a payments team
To use it safely you must build OAuth flows, manage virtual cards, write a policy engine, reconcile spend, satisfy compliance, and own incident response. That's the new wall.
Six problems you never wanted to own.
Each one is a sub-team's worth of work — and a regulated one. None of it is your agent.
OAuth & token flows
Implement Stripe Link OAuth, refresh logic, scoped token issuance — and keep it all out of your logs.
Virtual card lifecycle
Issue, scope, expire and reconcile single-use cards per transaction without leaking PANs anywhere.
A policy engine
Budgets, allowlists, velocity limits, jurisdiction rules — race-safe under concurrency, for non-deterministic actors.
Reconciliation & reports
Map every agent charge to a cost center and GL code so finance doesn't open a ticket every month.
Compliance sign-off
HSM-backed key storage, signed authorization receipts, 7-year retention — evidence your CISO will actually accept.
Incident response
A kill switch that actually halts spend in under a second — and proves it did, at 2am, to someone who's never logged in.
Stripe solved credentials. No one solved the orchestration.

PayDuct owns the layer in between.
Every rail routes through one orchestration node — policy, approval and audit applied once, consistently, no matter where the money ends up flowing.
The whole payments layer, abstracted.
Your agent submits a single POST /spend-requests. PayDuct runs it down the conduit — policy to receipt — and returns before your agent finishes its thought.
Spend request
One API call with task context & an idempotency key.
Policy check
Budgets, allowlists & thresholds — race-safe.
Rail routing
Stripe Link today; MPP, x402 & USDC next — same call.
Human approval
Only when policy says so — email, Slack or webhook.
Execution
Scoped virtual card issued & charged. Idempotent.
Receipt + audit
Signed receipt returned; hash-chained log written.
Write a rule. Read it back in plain English.
The policy engine isn't a config screen — it's the product. Every change renders a plain-English summary your finance and legal teams can actually approve, with a diff before you commit.
- Budgets, allowlists & thresholds evaluated race-safe under concurrency with a reservation pattern.
- Plain-English explainer updates live as you edit — and shows a plain-English diff on every change.
- Full change history — who changed what, when, on which agent.
{
"budget": { "daily_limit": 500, "currency": "USD" },
"merchants": { "allow": ["Amazon", "Office Depot"] },
"auto_approve": { "under": 200 }
}This agent can spend up to $500/day on Amazon and Office Depot. Purchases under $200 are approved automatically. Everything else requires your approval.
This agent can spend up to $500/day on Amazon and Office Depot. Purchases under $200 are approved automatically. Everything else requires your approval.
For when an agent goes rogue at 2am.
A kill switch isn't a feature with a confirm dialog — it's a promise. One tap halts new spend in under a second, surfaces every in-flight transaction, and emails a freeze report before you've finished waking up.
- <1 second halt, no confirmation, accessible to every role — even read-only responders.
- Cryptographically signed receipts on every human-approved transaction, with keys isolated from the API layer.
- Hash-chained audit log, append-only, stored apart from the primary database. Tamper-evident by design.
Built to a fintech bar, not a demo bar.
From a solo dev's first call to a CISO's sign-off.
Production in under 10 minutes
pip install payduct, fire a sandbox spend, promote to live. A thin SDK handles idempotency and retries so the quickstart actually works.
“My agent paid for office supplies and I never wrote a line of payment code.”— Marcus, procurement agent
Evidence your CISO accepts
HSM-backed key storage, signed authorization receipts, 7-year retention with bulk export, and a CISO evidence package — without waiting on a SOC 2 cycle.
“This is the thing I can show legal.”— Rachel, CTO, Series B fintech
A kill switch on every screen
Anomalies surface the moment you log in. One tap halts spend, auto-generates a freeze report, and pre-fills disputes — usable by someone who's never opened the dashboard.
“20 minutes from alert to $4,069 recovered. Never called support.”— Derek, on-call DevOps
One payment layer for 400 agents
Import the pay_for_task() tool definition, add the middleware intercept, and every team inherits policy, budgets and audit — writing zero payment code.
“PayDuct is invisible — exactly as intended.”— Priya, staff engineer, F500 platform
Pay for spend that actually executes.
Transaction fees apply to successful executions only — never to rejected or failed requests. Every tier includes the full audit log, kill switch, policy engine and sandbox.
- Up to 5 agents
- 30 spend requests / min
- Full policy engine + sandbox
- Email & Slack alerts
- Up to 25 agents
- 150 spend requests / min
- Webhook + SMS alerting
- Finance-ready spend exports
- Unlimited agents · 1,000 rpm
- CISO evidence package
- 3-tier budget hierarchy + RBAC
- SLA guarantees + custom contract
From install to a live receipt in three steps.
Run the sandbox with simulated rails and chaos injection, then flip one key to go to production. The SDK handles idempotency keys and retries for you.
One package, one scoped agent API key.
Real policy evaluation against simulated execution.
Status, budget remaining, receipt URL, audit id.
pip install payduct
from payduct import PayDuct
pd = PayDuct(api_key="pd_agent_live_8f3a…")
receipt = pd.spend(
amount=87.00,
merchant="Office Depot",
category="office_supplies",
justification="Restock printer paper for Q3",
)
print(receipt.status) # "approved"
print(receipt.budget_remaining) # 413.00Ship agent payments this week.
The team that ships the orchestration and trust layer first owns the category. Start in the sandbox now — no funds, no rail code, no payments team.