Decide whether an agent may spend — before it does. Decide si un agente puede gastar — antes de que lo haga.
The problemEl problema
Agents can spend. You still lack a control plane. Los agentes pueden gastar. Aún no tienes un plano de control.
AI SaaS teams are wiring payment tools into agents. The usual safeguard is a human approving every charge — and approving every charge by hand ends in approving everything without reading. Without a policy layer, every spend call is either a silent pass-through or a rubber stamp.Los equipos de AI SaaS están conectando herramientas de pago a agentes. La salvaguarda habitual es un humano aprobando cada cargo — y aprobar cada cargo a mano termina en aprobar todo sin leer. Sin una capa de políticas, cada gasto es un pass-through silencioso o un sello automático.
- 01
Approval fatigue: one prompt per charge until nobody reads themApproval fatigue: una aprobación por cargo hasta que nadie las lee
- 02
The approval screen shows amount and merchant — not why the agent chose itLa pantalla de aprobación muestra monto y comercio — no por qué el agente lo eligió
- 03
Security and SRE cannot prove why a decision happenedSecurity y SRE no pueden probar por qué ocurrió una decisión
How it worksCómo funciona
Three steps to an auditable spend decisionTres pasos a una decisión de gasto auditable
- Step 01
Declare policy in YAMLDeclara la política en YAML
Spend rules as code: reviewable, diffable, owned by Security or Platform.Reglas de gasto como código: revisables, diffables, propiedad de Security o Platform.
version: 1defaults: mode: deny # fail-closed dry_run: truerules: - id: deny-crypto match: { merchant_in: [binance, coinbase] } action: deny reason_code: DENY_HIGH_RISK_MERCHANT - id: allow-small-saas match: { amount_lte: 25, merchant_in: [notion, openai] } action: allow reason_code: ALLOW_SMALL_SAAS - id: ask-large match: { amount_gt: 25 } action: ask_human reason_code: ASK_AMOUNT_OVER_THRESHOLD
- Step 02
Intercept the spend toolIntercepta la herramienta de gasto
A self-hostable policy sidecar sits in front of agent payment tools — no silent pass-through.Un policy sidecar self-hostable se coloca frente a las herramientas de pago del agente — sin pass-through silencioso.
agent.spend()agente.cash sidecarpayment tool - Step 03
Allow, deny, or ask a human — leave the trailPermitir, denegar o pedir a un humano — dejar el rastro
Every decision carries a reason code and an OpenTelemetry span. Optional Slack approve when humans must decide.Cada decisión lleva un reason code y un span de OpenTelemetry. Aprobación por Slack opcional cuando debe decidir un humano.
- allowALLOW_SMALL_SAAS
- denyDENY_HIGH_RISK_MERCHANT
- ask_humanASK_AMOUNT_OVER_THRESHOLD
- span: agente.decision · otel ✓
BoundariesLímites
What it is NOTQué NO es
Explicitly not: a wallet, bank, custodian, or PSP.Explícitamente no es: una wallet, banco, custodio ni PSP.
Wallet / bank / custodian / PSP — it never holds fundsWallet / banco / custodio / PSP — nunca custodia fondos
Real money rails in the MVP — dry-run + fake payment tool onlyRieles de dinero real en el MVP — solo dry-run + herramienta de pago falsa
Full evidence dashboard — that comes in a later phaseDashboard completo de evidencia — llega en una fase posterior
InteractiveInteractivo
Policy decision preview (dry-run)Vista previa de decisión de política (dry-run)
Enter a merchant and amount. See whether policy would allow, deny, or ask-human — with a reason code. No email required. No real money.Introduce un comercio e importe. Mira si la política haría allow, deny o ask-human — con reason code. Sin email. Sin dinero real.
POST /v1/spend { "merchant": "OpenAI", "amount": 50.00, "currency": "USD" }
- action
- ask_human
- reason_code
- ASK_AMOUNT_OVER_THRESHOLD
- message
- Spend would pause for human approval (ask-human).El gasto se pausaría para aprobación humana (ask-human).
FeaturesFunciones
What you get out of the boxLo que obtienes de entrada
YAML policies. Three clear paths. Reason codes. Optional Slack approve. OTel spans. compose up in ≤10 min.Políticas YAML. Tres caminos claros. Reason codes. Aprobación Slack opcional. Spans OTel. compose up en ≤10 min.
- 01
YAML policiesPolíticas YAML
Declare spend rules as code. Reviewable, diffable, ownable by Security/Platform.Declara reglas de gasto como código. Revisables, diffables, propiedad de Security/Platform.
- 02
allow / deny / ask-humanallow / deny / ask-human
Every decision is one of three paths — no silent pass-through.Cada decisión es uno de tres caminos — sin pass-through silencioso.
- 03
Reason codes + trailReason codes + rastro
Auditable outcomes with reason codes and OpenTelemetry spans for SRE.Resultados auditables con reason codes y spans OpenTelemetry para SRE.
- 04
Optional Slack approveAprobación Slack opcional
When policy says ask-human, route the decision to Slack — without making Slack mandatory.Cuando la política dice ask-human, enruta la decisión a Slack — sin hacer Slack obligatorio.
- 05
OpenTelemetry spansSpans OpenTelemetry
Decisions emit OTel spans so Platform and SRE can follow the trail in existing tooling.Las decisiones emiten spans OTel para que Platform y SRE sigan el rastro en su tooling actual.
- 06
≤10 min to first decision≤10 min a la primera decisión
Docker Compose: stand up the sidecar and hit a dry-run spend path fast.Docker Compose: levanta el sidecar y pega un dry-run de gasto rápido.
Coming soonPróximamente
Not built yet — on the wayAún no está construido — en camino
These are on the roadmap, not in the MVP. We list them so you know where it is going, not to claim they exist.Están en el roadmap, no en el MVP. Las listamos para que sepas hacia dónde va, no para decir que ya existen.
- SoonPronto
Drift signalSeñal de desvío
Flag when what the agent is about to buy no longer matches what it was asked for.Avisa cuando lo que el agente va a comprar ya no coincide con lo que se le pidió.
- SoonPronto
Hash-chained audit logAudit log encadenado con hashes
Each decision linked to the previous one, so the record cannot be quietly edited.Cada decisión enlazada con la anterior, para que el registro no se pueda editar en silencio.
- SoonPronto
Post-charge reconciliationConciliación post-cargo
Compare what was charged against what was approved.Compara lo cobrado contra lo aprobado.
- SoonPronto
Revoke the agent's cardRevocar la tarjeta del agente
If a charge does not match, cut the agent's access so it cannot spend again.Si un cargo no cuadra, le corta el acceso al agente para que no pueda volver a gastar.
Early accessEarly access
Join the waitlistÚnete a la lista
Get notified when the control plane is ready for early access. Built for Security / Platform / SRE or CTO of AI SaaS (5–50) who already have agents with payment tools and need an auditable gate before production.Te avisamos cuando el plano de control esté listo para early access. Hecho para Security / Platform / SRE o CTO de AI SaaS (5–50) que ya tienen agentes con herramientas de pago y necesitan un gate auditable antes de producción.
MVP is dry-run only — try the policy preview.El MVP es solo dry-run — prueba la vista previa de política.FAQFAQ
Common questionsPreguntas frecuentes
Does agente.cash hold or move money?¿agente.cash custodia o mueve dinero?
No. It is not a wallet, bank, custodian, or PSP. It is a policy control plane that decides whether an agent may spend — and leaves the trail. Funds stay with whatever payment tools you already use.No. No es wallet, banco, custodio ni PSP. Es un plano de control de políticas que decide si un agente puede gastar — y deja el rastro. Los fondos permanecen en las herramientas de pago que ya uses.
What if the agent already paid?¿Y si el agente ya pagó?
The payment rail does not allow reversing the charge, and agente.cash does not promise to. It will compare what was charged against what was approved and, if it does not match, revoke the agent's card so it cannot spend again. (Coming soon.)El rail no permite reversar el cargo, y agente.cash no promete hacerlo. Comparará lo cobrado contra lo aprobado y, si no cuadra, revocará la tarjeta del agente para que no pueda volver a gastar. (Próximamente.)
Can I use it with real money in production today?¿Puedo usarlo con dinero real en producción hoy?
Not in the MVP. The current release is dry-run plus a fake payment tool so you can evaluate policy decisions safely. Real money rails are out of scope for this phase.No en el MVP. La versión actual es dry-run más una herramienta de pago falsa para evaluar decisiones de política con seguridad. Los rieles de dinero real quedan fuera de esta fase.
Who is this for?¿Para quién es?
Security / Platform / SRE or CTO of AI SaaS companies (about 5–50 people) who already have agents with payment tools and need an auditable control plane before production.Security / Platform / SRE o CTO de empresas AI SaaS (unas 5–50 personas) que ya tienen agentes con herramientas de pago y necesitan un plano de control auditable antes de producción.
Is it self-hosted?¿Es self-hosted?
Yes. The MVP ships as a self-hostable Docker Compose sidecar. Target time to first decision: ≤10 minutes after compose up.Sí. El MVP se entrega como un sidecar Docker Compose self-hostable. Tiempo objetivo a la primera decisión: ≤10 minutos tras compose up.
Is Slack required?¿Slack es obligatorio?
No. Slack approve is optional for the ask-human path. Core decisions (allow / deny / ask-human) work without it.No. La aprobación por Slack es opcional para el camino ask-human. Las decisiones centrales (allow / deny / ask-human) funcionan sin él.
Aren't native Stripe / Ramp controls enough?¿No bastan los controles nativos de Stripe / Ramp?
If one rail’s native controls cover your whole agent stack, you may not need a sidecar. agente.cash is for teams that want shared policy-as-code and an audit trail across agent spend tools.Si los controles nativos de un solo rail cubren todo tu stack de agentes, puede que no necesites un sidecar. agente.cash es para equipos que quieren policy-as-code compartido y un rastro de auditoría entre tools de gasto de agentes.