Rules sealed in the mandate
Limits are fields of the policy, hashed into its root. A payment outside them has no valid authorisation, so there is nothing to approve.
Private banking & policy for autonomous agents
Give an agent money the way a private bank gives a family office a mandate: a lifetime budget, a daily ceiling, a list of who it may pay, and a date the mandate ends. Every payment is checked against the sealed policy before it leaves. Auditors see one fact, never the book.
•••• •••• •••• ••••
Policy root —
Limits are fields of the policy, hashed into its root. A payment outside them has no valid authorisation, so there is nothing to approve.
Show a lender the daily ceiling, or an auditor the end date. Each clause opens alone with a Merkle proof; the others stay sealed.
Any Solana wallet's real history can be replayed against a mandate: what it paid, to whom, and which clause each payment would have broken.
Every field becomes a numbered clause. The policy is hashed with SHA-256 and each clause, salted, becomes a leaf of a Merkle tree whose root seals the whole document.
Mandate · Schedule A
Issued —
The agent proposes a payment and signs the intent with its own Ed25519 key, generated in this browser. The mandate checks every clause. Approved payments join this session's ledger, so the ceilings fill up. Simulation
Checks
Session ledger
The last payment you presented, replayed through the mandate's six gates.
Pick the clauses an auditor or lender may see. You hand over a package: the root, the opened clauses with their salts, and the sibling hashes up to the root. The verifier recomputes it in their own browser.
Open which clauses?
Verifier
A seeded simulation of how an agent with your spending habits lives inside this mandate: daily spend against the ceiling, payments the policy refused, and the day the budget runs out. Simulation
Seed —
Connect, or paste any Solana address. Vaultagent reads its balances and its last 25 transactions from mainnet, works out what left the wallet and to whom, and marks every payment the mandate would have refused.
Policy pages are where private banks hide things. Ours are short.
The mainnet reads: wallet balances, transaction history, prices from Jupiter, and the optional memo that anchors your policy root. The policy engine, Merkle disclosure and agent signatures are real cryptography running in your browser.
The session ledger in section II and the budget dashboard in section IV are simulations; they are labelled so. No agent account, shielded pool or lending market exists behind this page yet.
No. It proves that an opened clause belongs to the sealed policy without showing the others. It cannot prove a range such as "balance above 100" without revealing the number; that needs a ZK circuit, which this site does not claim to have.
One SPL Memo containing your policy's Merkle root, signed by your own wallet. It moves no funds and sends nothing to anyone. You see the exact text and the network fee before your wallet opens.
In this tab's memory, created with WebCrypto Ed25519. It is not saved and not sent anywhere. Never send funds to it: it exists to sign intents in this demonstration.
It is an independent concept. There is no audit, no partner bank, no deposits and no users to report. The site never holds funds and never asks for a seed phrase.
Review before signing
A memo is public and permanent on Solana. This cannot be undone.