Skip to main content
Enterprise

Your agents move real money. Your CFO gets every answer.

You set the caps, the allowlists and the expiry. Every payment your agents make ends in a record you can hand an auditor.

app.codespar.dev · governance
Policybudgets enforcedACTIVE
Mandatessigned, revocableACTIVE
Routercost-optimizedACTIVE
Audithash-chainedACTIVE

Illustrative example. Four systems, one pipeline — every section below is one of these rows, in full.

How it worksEnterprise tier — preview

Five guardrails. One command.

Every payment runs through the same pipeline. Your agent thinks. CodeSpar enforces. Nothing moves until every check passes, and every step is recorded forever.

app.codespar.dev/guardrails
Policy
agent-checkout
Active
DailyR$ 7.200 / 10.000
WeeklyR$ 12.350 / 50.000
Per txR$ 1.820 / 5.000
Deny list
RUIRgambling
Alert at
80% of limit
Active mandates
3 signed · HMAC
agent-checkout
mdt_agen
payroll · refundsR$ 5,000 / tx
expires in 23d
refund-bot
mdt_refu
refunds onlyR$ 2,000 / tx
expires in 14d
payout-agent
payrollR$ 25,000 / tx
expires in 3h
Audit ledger · 184 events · sealedLive

Policies that prevent disaster.

Per-agent spend limits, time windows, allowed categories, geographic restrictions, deny-lists. Your CFO writes the rules. Your agent follows them.

  • Daily, weekly, monthly budgets per agent
  • Deny-lists for categories, countries, counterparties
  • Instant alerts when an agent hits 80% of budget
policy.ts
const policy = {
  agentId: "agent-checkout",
  limits: {
    daily:  10000,
    weekly: 50000,
    perTx:  5000,
  },
  denyList: ["RU", "IR", "gambling"],
  alerts:   { at: 0.8 },
};

Router

One governed call. The router picks the rail.

Every payment checks against the signed mandate before it moves, then resolves to whichever rail actually fits. Your agent never names a rail — it just calls pay.

pay-supplier.ts
const session = await codespar.sessions.create({
  mandate: mandate.id,
});

const payment = await session.execute("codespar_pay", {
  input: {
    amount: 14250,              // R$142.50 in centavos
    currency: "BRL",
    destination: "supplier_8f21a",
    mandateRef: mandate.id,     // cap enforced before the call executes
    // no `rail` field — the router picks Pix, boleto, card, or USDC
  },
});

console.log(payment.result);
// → { receiptId: "rcpt_9f2c1a4e", rail: "pix", status: "settled" }
rcpt_9f2c1a4e · settled via pix
codespar_pay · router
Pix · Asaasoutbound, routed by payROUTED
Pix · Celcoinsandbox-provenSANDBOX
Pix · Mercado Pagoinbound charge, refused for payNOT ROUTED
Boletosandbox-provenSANDBOX
Card, USDC / x402named in the callNAMED
See Pay in full

Audit

Every action ends in a receipt you can hand an auditor.

Every mandate check, every settlement, every refund seals into the same hash-chained receipt used across the registry — verifiable by anyone who holds the mandate's public key, without calling us.

verify-receipt.ts
// every receipt links to the one before it — tampering with
// any record breaks every hash after it, not just that one
const receipt = await codespar.ledger.getReceipt("rcpt_8f2a91");

const expected = sha256(receipt.previousHash + receipt.canonical);

console.log(expected === receipt.hash);
// → true — this receipt is exactly what was sealed, unmodified
hash verified · receipt unmodified
rcpt_8f2a91 · sealed
MandatesignedCHECKED
Actioncodespar_payEXECUTED
Receiptrcpt_8f2a91SEALED
Chainhash-linkedVERIFIABLE
See how mandates verify

Wallets

Programmable wallets have their own page now.

Multi-slot, mandate-gated — the full mechanism, rails, and pricing live on the dedicated Wallet page.

See Wallet
Free demo

See CodeSpar in action.

30 minutes. No commitment. Watch a live agent run the Complete Loop — Pix, NF-e, shipping, WhatsApp — on your use case.

code<spar>

Demo live

Watch the agent charge, invoice, ship, and reconcile — in real time with your scenario.

30 minutes
Google Meet / Zoom
LGPD-compliant
No implementation fee
In the session
  • A walkthrough of the orchestration layer for your use case
  • A live agent executing the Complete Loop — Pix, NF-e, Melhor Envio, WhatsApp
  • A tailored architecture sketch, sent within one business day
  • Go-live in 5–7 business days after sign-off
Your details

We read every message. No funnel, no drip sequence.

Go-live in 5–7 business days
No minimum contract
LGPD-compliant
Response within 24h
Enterprise | CodeSpar