A policy vault for autonomous agents

AI-native finance runs on agents.
Nothing moves without the aspect.

RAILS is the yard they run in — a policy vault on Robinhood Chain. The owner draws four standing rules once; every call an agent signs is tested at each signal before it touches the chain.

$RAILSCA not configured — launch pending via PONSEVM ZERO
4rules, every call crosses all
0approval prompts
1halt, owner-held
∞runs unattended

The problem

A raw key is total power. A human gate is total friction. Both fail the night shift.

raw key

The key does everything

Drain, approve infinitely, bridge out — whatever the key can do, the agent can do. One bad instruction repeats every tick until a human happens to look. At machine speed, that is a long night.

human gate

The gate kills the machine

Signing every move by hand turns autonomy back into a chat window. A sentry you have to wake is no sentry at all — the yard needs signals, not guards.

The third answer

Signals, not guards. Rules drawn once, wired into the vault, applied to every call at execution speed — whether or not anyone is watching.

Four levers

A call crosses every signal, or it never lands.

01halt · owner only

Buffer stop

One owner command seals the yard. Frozen means frozen — no call crosses from the inside or out, and the agent cannot touch the switch. Unsealing is a second owner command.

Stops
Every agent call, queued ones too
Lets through
Nothing until unsealed
02routes · drawn only

Interlocking

Only contracts and functions the owner named can be reached — conflicting routes physically cannot be set. Infinite approvals are turned back even on a listed route.

Stops
Unknown targets · infinite approvals
Lets through
Named contract + function pairs
03allowance · by clock

Axle limit

Per-transaction, hourly and daily ceilings. A runaway loop fills its allowance and stops moving; the next window opens on the clock, not on a promise.

Stops
Anything over the ceilings
Lets through
Calls within allowance
04delay · large moves

Loop line

Large departures hold in the loop for the drawn delay. In that window the owner can cancel — or let it run. Nobody has to be awake; the clock does the guarding.

Stops
Nothing permanently — it delays
Lets through
Large calls after the window

Each lever in detail →

The stack

One station is missing from the AI-native finance stack.

Robinhood Chain
financial-grade L2
PONS
issuance
USDG
settlement
RAILS
agent custody — lit

The chain moves fast, issuance is served, settlement is served. What holds agent funds to a set of rules is the dark spot on the map. RAILS is that lit station: deploy a vault, put your agent inside, and the aspects hold all night.

Verify, don't trust

The monitor reads the chain. Reading never needs a wallet.

owner's tableawaiting
reference vaultawaiting deployment
owner / agent—
daily allowance0 / —
rpcrpc.mainnet.chain.robinhood.com
$RAILS monitorzero state
contractCA not configured
issuancepending via PONS
verificationappears after verified URL is set
fake addressesnever rendered

Night shift log

Vault contract

Four rules implemented; Foundry test suite running. Deploy target: Robinhood Chain mainnet.

In test

Audit

No third-party audit yet. Stated everywhere it matters — do not route real funds before it ships.

Not yet audited

$RAILS

Launch pending via PONS. The monitor lights up the day the address is configured.

Pending
You draw the signals. The chain holds them.Drawn once. Enforced at execution. Held by you.