SanestlyPay is a policy gateway that sits between your AI agent and the money: budgets, allow/deny rules, human approvals and a full audit trail - enforced before a single cent moves.
Try the Playground Read the docsPending approvals reserve funds the moment a policy asks for a human. Concurrent requests cannot overspend a session or a daily limit.
Over threshold? A single-use approval claim is issued. Approve or reject - the provider executes exactly once, outside the database transaction.
Every adapter carries a capability label: mock, implemented, sandbox-verified or requires-provider-access. No fake tokens, ever.
from sanestlypay import SanestlyPayClient
client = SanestlyPayClient(base_url="http://127.0.0.1:8080", api_key="...")
result = client.request_payment(amount_usd=15.00, category="api_credits",
merchant="openai.com", session_id=session_id)
The same flow runs in the browser Playground - no API key, no registration, no real money.
| Provider | Role | Status | Notes |
|---|---|---|---|
| mock | Deterministic simulator | verified | Default; used by the public demo |
| x402 | Payer-side protocol | requires access | Parses real 402 bodies; needs facilitator + wallet |
| lithic | Card issuing | requires access | Typed client; fails closed without API key |
| stripe-mpp | Merchant protocol | requires access | Not implemented; honest stub |
| marqeta / paypal-agentic | Issuing / agentic | requires access | Honest stubs, no credentials available |