Onchain firewall for AI agents

AI agents are about to hold real money.Leash makes sure they only do what you meant.

A Solana program holds the agent's funds and checks every payment against limits you signed, a guard's co-signature, and your approval. A fooled agent cannot talk its way past code.

Agent pays 4 invoices, 2 are poisoneddevnet
  1. 18Acme Designagent alonePAID
  2. 120CloudHost Incguard co-signedPAID
  3. 45CloudHost Incguard co-signedPAID
  4. 150Unlisted addresshidden line in an invoicePENDING
  5. 150Unlisted addressNotAllowlistedBLOCKED BY CHAIN
  6. 190CloudHost Inctask approved 60BLOCKED BY GUARD

Attacker received0 dUSDC

Every action passes three layers

  1. Layer 1LOW

    Mandate

    Enforced by the program

    Caps, an allowlist and an expiry you signed. A small payment to a listed vendor passes here.

  2. Layer 2MEDIUM

    Guard co-sign

    A separate service and key

    It decodes the transaction, checks the rules, and asks an independent judge. No signature, no payment.

  3. Layer 3HIGH

    Human or device

    You, or a hardware key

    Large or unlisted payments wait onchain and move nothing until you approve them.

When the agent gets fooled

  • A hidden line in an invoice tells the agent to send 150 dUSDC to an attacker.

    The agent falls for it. The payment sits pending, and no money moves.

    PENDING

  • A stolen agent key calls the program directly, skipping everything else.

    The program rejects it onchain: the recipient is not on the allowlist.

    BLOCKED BY CHAIN

  • The injection names a real vendor, with an inflated amount the mandate would allow.

    The guard refuses to co-sign, because the amount does not match the task.

    BLOCKED BY GUARD

Live from devnet

Vaults onchain
Blocked attempts
Refused by the program, in its last 1,000 transactions