Tus agentes mueven dinero de verdad. Tu CFO tiene todas las respuestas.
Tú defines los topes, las allowlists y la vigencia. Cada pago de tus agentes termina en un registro que le entregas a un auditor.
Ejemplo ilustrativo. Cuatro sistemas, un solo pipeline — cada sección abajo es una de estas filas, completa.
Cinco guardrails. Un comando.
Cada pago corre por el mismo pipeline. Tu agente piensa. CodeSpar impone. Nada se mueve hasta que cada chequeo pasa, y cada paso queda registrado para siempre.
Políticas que previenen el desastre.
Límites de gasto por agente, ventanas de tiempo, categorías permitidas, restricciones geográficas, deny-lists. Tu CFO escribe las reglas. Tu agente las sigue.
- Presupuestos diarios, semanales y mensuales por agente
- Deny-lists para categorías, países, contrapartes
- Alertas instantáneas cuando un agente llega al 80% del presupuesto
const policy = { agentId: "agent-checkout", limits: { daily: 10000, weekly: 50000, perTx: 5000, }, denyList: ["RU", "IR", "gambling"], alerts: { at: 0.8 }, };
Router
Una llamada gobernada. El router elige el riel.
Cada pago se verifica contra el mandato firmado antes de moverse, y luego se resuelve al riel que realmente sirve. Tu agente nunca elige un riel — solo llama a pay.
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" }
Audit
Cada acción termina en un recibo que le entregas a un auditor.
Cada verificación de mandato, cada liquidación, cada reembolso se sella en el mismo recibo encadenado por hash usado en todo el registry — verificable por cualquiera que tenga la clave pública del mandato, sin necesidad de contactarnos.
// 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
Wallets
Las wallets programables ya tienen su propia página.
Multi-slot, limitada por mandato — el mecanismo completo, los rieles y el precio están en la página dedicada de Wallet.
Mirá CodeSpar en acción.
30 minutos. Sin compromiso. Mirá un agente en vivo correr el Complete Loop — Pix, NF-e, envío, WhatsApp — en tu caso de uso.
Demo en vivo
Mirá al agente cobrar, facturar, enviar y conciliar — en tiempo real con tu escenario.
- Un walkthrough de la capa de orquestación para tu caso de uso
- Un agente en vivo ejecutando el Complete Loop — Pix, NF-e, Melhor Envio, WhatsApp
- Un boceto de arquitectura a medida, enviado en un día hábil
- Go-live en 5–7 días hábiles después del visto bueno