aibank
Financial infrastructure for AI agents
In development · research buildA research build on letting AI agents transact through controlled, auditable workflows: bounded authority, every decision recorded, nothing the agent can raise by itself.
aibank in one picture
What it is
An autonomous agent that can spend money is a liability unless four things are true: its balance is always correct, its spending is bounded by policy it cannot bypass, a retried request never moves money twice, and a human, not the agent, decides what the bounds are.
aibank is where that question is worked out as code. It is a research build, not a product release: the ledger, the policy engine and the provider adapter exist and are tested, including under concurrency, while the human-facing approval surface is still being built.
The mechanism, not the pitch
| Control | Value | State |
|---|---|---|
| Per-transaction ceiling | ₦250,000.00 | set |
| Rolling daily cap | ₦500,000.00 · ₦125,000.00 used | set |
| Rolling monthly cap | ₦3,000,000.00 | set |
| Daily payout count | 12 · 3 used | set |
| Daily reset | 00:00 Africa/Lagos | zone-correct |
| Payee allowlist | 4 payees | enforced |
| Approval threshold | above ₦100,000.00 | human required |
| Agent freeze | off | available |
Evaluated before funds are held. With no ceiling set, every payout is refused.
Development status
Built means written, tested and running. Intended means exactly that.
Built and tested today
Agent-initiated payment requests
An agent credential can do exactly one thing with money: request a payout the server either allows, holds for approval, or denies.
Constraints the agent cannot reach
Policy is evaluated server-side and denies by default. Raising a limit requires a human credential; no sequence of agent calls can widen its own ceiling.
A ledger with holds and an audit log
Balanced entries, placed and captured holds, derived balances, a trial balance, and an append-only record of what was decided and why.
Status monitoring and verification
Payout state is tracked from request through submission to settlement, with provider re-query when a notice is missing and verified webhooks when it arrives.
Race-tested concurrency
Overspend and duplicate-settlement races are exercised by multi-thread tests rather than assumed away.
Intended, not yet built
A human approval queue over HTTP
Approval, freeze and policy changes exist in the core and are being exposed as an interface a human can actually use.
A stuck-hold sweeper
Reclaiming funds held for a payout whose settlement notice never arrives.
Reversing entries and refunds
A correction path on the books, matching Corebank's reversal model.
Production hardening
Credential defaults that fail closed, scoped reads everywhere, and an external review before it touches anyone's money.
Intended use cases
- Giving an automated workflow a budget instead of a credit card.
- Paying suppliers, contractors or APIs from an agent-run process with a human approving anything above a threshold.
- Producing an auditable record of every machine-initiated financial decision.
What an operator sees
- Requested12:04:11agent credential, idempotency key attached
- Policy evaluated12:04:11allowed · within per-transaction and daily caps
- Funds held12:04:11₦125,000.00 unavailable for withdrawal
- Submitted to provider12:04:12transfer reference recorded
- Settlement notice12:06:48HMAC verified · hold captured
If no notice arrives, reconciliation re-queries the provider and reports when a human is needed.
What the agent can and cannot call
An agent credential is scoped to one financial verb. The authority that sets its limits lives in a different trust domain, reachable only by a human.
agent → pay(payee="qt-logistics", amount="125000.00", currency="NGN")
credential scope ....................... payouts:request (own wallet only)
policy decision ........................ allowed
returns ................................ payout PO-91D4, state=held
agent → set_policy(daily_cap="2000000.00")
credential scope ....................... payouts:request
verdict ................................ 401 (human domain)
limit after attempt .................... unchanged
The agent can request money and nothing else. Raising its own ceiling is not a route it can reach.
Context
Talk to us about it
aibank is in development and not generally available. Integration conversations, provider discussions and technical review are all welcome now, and they are what shapes what gets built next.
Tell us what you are building.
We answer every serious message.
Expect a reply within two business days, from a person.
- hello@odusipe.tech
- Base
- Lagos, Nigeria
- Working with
- Businesses, providers, partners, engineers