Standards decide how agents pay. PINTI decides whether they're allowed to. Control, audit, and approve every AI agent spend decision — regardless of payment rail.
// Agent Intent
{
"amountMinor": 4200,
"unit": "USD",
"merchant": "openai.com",
"category": "api",
"reason": "Monthly credits",
"agentId": "agent-774"
}// PINTI Response
{
"decision": "ALLOW",
"sat": "eyJhbGci...",
"expiresAt": "2025-02-25T..."
}One API call. Your agent asks. PINTI decides.
POST /api/v1/spend/evaluate with amount, merchant, reason — from any payment standard or AI framework.
Policy engine checks per-transaction limits, daily/monthly caps, blocklists, and approval thresholds. Deterministic, payment-agnostic.
ALLOW with a Spend Authorization Token (SAT), DENY, or REQUIRE_APPROVAL. Every decision logged. Humans notified via email, webhook, or agent callback.
{
"spendRequestId": "sr_abc123...",
"amountMinor": 4200,
"unit": "USD",
"merchant": "openai.com",
"executionMode": "SDK_GUARD",
"exp": 1700000120,
"iat": 1700000000
}Every ALLOW decision issues a SAT — a cryptographically signed proof that the spend was authorized. Executors verify the token before processing any payment.
Tamper-proof cryptographic signature
Time-limited to prevent replay attacks
Each token can only be consumed once
Everything you need to control AI agent spending at scale.
Per-transaction limits, daily/monthly caps, merchant allow/blocklists, approval thresholds.
Every spend intent logged with initial + final decision. Filter by agent, merchant, category.
Approval thresholds with email, webhook, and agent callback notifications. Instant resolution.
Works with any payment rail — cards, wallets, crypto, credits. Core never changes.
The first spend policy skill for OpenClaw. Add guardrails to any agent's spending — works with Privacy.com cards, Privy wallets, USDC, or any payment method.
npm install openclaw-skill-pintiimport { beforeSpendAction } from "openclaw-skill-pinti";
const check = await beforeSpendAction({
agentId: "my-agent",
amountMinor: 5000,
unit: "USD",
merchant: "openai.com",
category: "api",
reason: "API credits top-up",
});
switch (check.action) {
case "continue":
// PINTI says ALLOW — proceed
await executePayment();
break;
case "block":
// PINTI says DENY — stop
break;
case "pause":
// Awaiting human approval
break;
}Type-safe SDK, MCP server, REST API, or use a starter template.
import { PintiGuard } from "@pinti/guard";
const pinti = new PintiGuard({
apiKey: process.env.PINTI_API_KEY!,
});
const result = await pinti.evaluateSpend({
agentId: "shopping-agent",
amountMinor: 4200,
unit: "USD",
merchant: "openai.com",
category: "api",
reason: "Monthly API credits",
});
if (result.decision === "ALLOW") {
// Proceed with SAT
await processPayment(result.sat);
}Pre-built integrations for popular AI frameworks. Clone and start building.
Spend policy skill for OpenClaw agents
openclaw-skill-pintiSpend policy for x402 agent wallets
pinti-spongeMCP server for Claude Desktop
pinti-mcpFunction-calling agent with spend policy
pinti-openai-agentsPython agent with spend guardrails
pinti-langchainWorks with any AI framework