Squads for AI agents · Solana Devnet

Your agent can pay. It cannot empty the wallet.

Reins is spend control for AI agents. You set a budget, a merchant list, and an expiry on-chain. The model pays APIs. A jailbreak cannot break those reins.

Phantom on Devnet · demo ticker CSO · no real money

Agents should not hold the whole wallet

Today a team that lets Claude or Cursor pay APIs either pastes a hot key, hardcodes a cap in app code, or trusts a facilitator with no merchant list. Prompt injection can drain the account or pay an attacker. Reins puts the limit in a Solana program the model cannot talk past.

For the human who owns the funds

Connect Phantom, set the rules, watch spend, revoke in one click. You are the primary user — not the merchant, not the model.

For the agent that pays

CLI or Cursor MCP (reins-spend-mcp) calls spend under that policy. In-budget merchant pays go through. Over-budget and wrong payee come back as program rejects.

What you do in the app

Same path a judge or teammate should finish in a few minutes on Devnet.

  1. 1

    Connect Phantom on Devnet

    Open the app, connect the wallet that owns the funds. That wallet is the root — it holds the reins.

  2. 2

    Claim test CSO & set policy

    Faucet drips demo tokens. Create an agent, set a budget, pick allowed merchants, optionally set expiry.

  3. 3

    Pay in-policy, fail out-of-policy

    A small merchant pay succeeds. Over-budget and wrong-payee fail. Revoke, then spend fails again.

The program holds the reins

Not a new chain and not another payment facilitator. Reins is the control plane: policy lives on Solana; merchants check a real spend receipt.

Budget

You cap how much the agent can spend. Over-budget payments revert on-chain — even if the model is jailbroken.

Allowlist

Only merchants you name can be paid. A wrong payee is rejected by the program, not by a prompt.

Expiry & revoke

Set a deadline. One revoke transaction stops spend immediately. Leftover funds stay in your vault.

Live on Solana Devnet

Public surfaces for the product — ticker on-chain is still CSO.

Set the reins. Then let the agent pay.

Connect → faucet → budget + allowlist → pay OK → over-budget fail → revoke.