On-chain spend-firewall for agent fleetsLive on Testnet

Cap your agent fleet's
total spend. On-chain.

One sponsor sets one budget across many independent agent wallets. Settlement decrements it in contract state, overspend is stopped on-chain — fail-closed — and the operator cannot raise that ceiling unilaterally, silently, or instantly. Built on ERC-4337.

Open-source (MIT)
Live on Arbitrum & Base Sepolia (v0.9 EntryPoint)
Fail-closed, auditable
1
Pooled budget, many wallets
On-chain
Fail-closed at the ceiling
154
Tests (+ live-fork)
MIT
Open-source
The Problem

Agent fleets spend autonomously. You can't cap the total.

An operator runs many agent wallets paying for APIs, data, and services with no human per-transaction.

You can cap each wallet individually, but not a single TOTAL ceiling across the whole fleet.

A bug, prompt-injection, or compromised orchestrator fans out across wallets — each under its own limit, collectively draining far more than intended.

Existing controls enforce off-chain, so you trust a backend, not a contract.

The Solution

One on-chain aggregate ceiling, sponsor-set, fail-closed.

Sponsor-set: the funder, not the spending agent, sets the budget.

Aggregate across untrusted wallets: N wallets draw down ONE pooled budget keyed by campaign, never by wallet.

On-chain fail-closed: at the ceiling the budget caps the draw and the campaign auto-deactivates in contract state — auditable, not an after-the-fact alert.

Risk-direction governance: a timelock raises the cap on a public delay; a guardian lowers, deactivates, or pauses instantly.

How it works

The three axes no single tool combines

Per-wallet limits exist everywhere. A sponsor-set, aggregate, on-chain-enforced ceiling across wallets it does not control does not.

Aggregate, not per-wallet
Many independent agent wallets share one pooled budget. The cap is on the fleet's total, enforced regardless of which wallet spends.
Sponsor-set + on-chain fail-closed
An external sponsor sets the budget; at the ceiling the draw is capped and the campaign auto-deactivates in contract state. Fail-closed and publicly auditable, not an off-chain policy check.
Raise is slow, kill is instant
Raising the ceiling is queued behind a public timelock delay; lowering, deactivating, or pausing is instant. The operator can stop spend in one tx but cannot quietly grow it.
Where GasX fits

Complements per-wallet controls, doesn't replace them

Use a per-agent limit (Coinbase Spend Permissions, Circle Agent Wallets, ERC-7715, Kite) AND a GasX fleet-wide pooled ceiling. They compose.

GasX
Per-wallet controls
Who sets the cap
External sponsor
The spending account
Scope
Aggregate across many wallets
A single wallet / session
Enforcement
On-chain, fail-closed (charge-capped + auto-deactivated)
Mostly off-chain policy
Operator can silently raise
No (timelocked, public)
Often yes
Unit (today)
Aggregate gas; USDC value next
Varies

Honest status: the shipped engine enforces an aggregate gas ceiling, proven on testnet; stablecoin-value (USDC) capping is shipping next. Built on ERC-4337 (EntryPoint v0.9).

Proof, not promises

Verifiable, open-source, on testnet

Open-source contracts
MIT-licensed. The on-chain budget engine, the governance split, and the bound strategies are public and auditable.
Tested + live-fork proven
154 unit/fuzz tests plus live-fork runs on the v0.9 EntryPoint (Arbitrum & Base Sepolia); the aggregate-cap invariant is proven across many ops.
The cap you can't silently lift
Authority is split on-chain: raising the ceiling is timelocked and public; killing or pausing is instant. The event trail is auditable.

Building agent infrastructure?

GasX is open-source and on testnet. Read the contracts, run the tests, and tell us what your fleet needs to spend safely.