Spend control for AI agents, enforced on Solana

Your agent pays. You decide how much it can lose.

Ash puts the rules on the network, not on our servers. Several limits at once, a list of where money may go, an emergency pause, and a history nobody can quietly edit. You take your money back alone, any time.

Devnet today. Professional audit before mainnet.

A wallet in an agent’s hands is a blank cheque.

A page says “withdraw everything”.

If a withdraw tool exists, the model can be talked into calling it.

The call times out. The agent retries.

The first transfer had already landed. Now it lands twice.

Someone copies the key.

Off-chain limits don’t help: whoever owns the process owns the limit.

In all three, the worst case is the whole balance.

No one loosens their own limit.

Think of a corporate card with four people. Each one passes down only a limit at or below what they received.

Owner

Puts money in, takes it out, sets the ceiling, can switch everything off. Withdraws alone, even while paused.

Operator

Sets the day-to-day policy under the ceiling. Cannot raise it, cannot withdraw.

Guardian

Holds only the emergency button. The worst a rogue guardian can do is pause the agent.

Agent

Pays within policy until its session expires. Its key authorizes a payment, never a limit.

Tightening a limit takes effect on the next payment. No redeploy, no waiting.

Proof, not promises.

A third party checks the history on the network without taking our word for it. That is what an attestation is.

13formal proofs over the limit arithmetic
99.2%line coverage on the policy crate
286Rust and TypeScript tests
8checks before any payment moves

One script reproduces three attacks on public devnet and prints a report with explorer links.

pnpm build && scripts/demo.sh --wallet ~/.config/solana/id.json

Who it’s for

You run agents today

Ceilings, an emergency pause and a console. Start on devnet in an afternoon.

Book 20 minutes

You own finance, risk or compliance

Cost per agent, per team, per task, and a quarterly attestation: every payment inside policy, nothing omitted.

Book 20 minutes

You allocate capital

A loss envelope for agents that trade: a mandate with a floor your LPs can check. In design, with the first desks.

Talk to us

Open protocol, Apache-2.0. We charge for the operations around it, never a toll on your payments.

Why not Solana’s native allowances?

You should ask. A single cap is now free and audited. A cap alone is not governance.

Native allowancesAsh
One delegate, one capPer-payment, per-window and lifetime limits at once
Any destinationAllowlisted destinations and tokens
The owner is the only brakeA pause key separate from the owner
History as good as your indexerA hash chain that proves nothing was deleted

Ash composes with the native primitive. We build on it, not against it.

Putting money behind an agent today?

We want twenty minutes: what it pays for, how much it could lose, what you have tried. We are validating this with the first teams and will say so plainly.