Bot gas and Jito tip budget
Run a sniper, arb or market-making bot from a funded agent wallet. Cap what it can burn on fees and tips per transaction and per day, and shut it off with one click.
Cap 0.01 SOL · budget 0.1 SOL · 24h
Agent authorization layer for Solana
AI agents now pay for APIs, compute and services on their own. Mandyr lets you sign a scoped, expiring spending mandate, so an agent can only move what you allowed, only where you allowed, with every action anchored on Solana.
Protocol
Bots, agents and automations all share one problem: to act, they need a funded key. Mandyr separates authority from custody, so your main wallet never leaves your hands.
Your wallet signs one message. Mandyr turns it into a deterministic agent keypair, so there is nothing to store and nothing to leak from a database.
Set a per-transaction cap, a total budget, an expiry and a recipient allowlist. You sign it once with ed25519. That signature is the agent's only authority.
Each agent intent is checked against the mandate. Approved payments settle on Solana with a memo receipt that references the mandate. Denied ones are logged with a reason.
Playbooks
Each playbook is a ready-made preset in the console. Pick one, adjust it and sign.
Run a sniper, arb or market-making bot from a funded agent wallet. Cap what it can burn on fees and tips per transaction and per day, and shut it off with one click.
Cap 0.01 SOL · budget 0.1 SOL · 24h
Pay analytics feeds, signal providers and RPC or Geyser vendors automatically, only to the addresses you approved, with a hard monthly ceiling.
Cap 0.05 SOL · budget 0.25 SOL · 7d
Keep trading sub-wallets topped up from a treasury under a strict allowance. Replace one shared hot key with bounded, expiring, auditable top-ups.
Cap 0.5 SOL · budget 2 SOL · 8h
Let an autonomous agent buy inference, data and tools from approved providers, metered by a budget instead of an open wallet.
Cap 0.002 SOL · budget 0.005 SOL · 30m
Delegate a bounded spending lane with an expiry that ends authority by itself. Every payment leaves an on-chain memo receipt tied to the mandate.
Set your own limits
Let agents refill GPU, storage and node providers on demand, never to an address you did not pre-approve.
Cap 0.1 SOL · budget 1 SOL · 48h
How to use
No installs, no API keys and no accounts. You need a Solana wallet extension and a little SOL.
Open the consoleOpen the console and connect Phantom or Solflare. Mandyr never asks for your seed phrase and never holds your owner key.
Sign the derivation message. You get a dedicated agent address that you can re-derive any time with the same wallet.
Send a small amount of SOL from your wallet to the agent. Treat it as a hot wallet and fund only what the mandate budget needs.
Pick a preset or set your own cap, budget, expiry and allowlist, then sign. The signature is verified before any action.
Submit payments as the agent. Approved ones settle on Solana in seconds with a memo receipt, denied ones are logged with the exact reason.
Anchor the mandate on-chain for a public audit trail, revoke it instantly if anything looks wrong, and return the leftover funds to your wallet.
Why a mandate
| Capability | Shared hot key | Mandyr mandate |
|---|---|---|
| Main wallet exposed to the bot | ||
| Hard per-transaction cap | ||
| Total budget ceiling | ||
| Automatic expiry | ||
| Recipient allowlist | ||
| Instant revoke | ||
| On-chain receipt per payment |
Anatomy
The mandate is canonicalised and signed by the owner wallet. Anyone can verify it against the owner public key, and each executed payment carries its short id in an on-chain memo, giving you an auditable trail from intent to settlement.
{
"v": 1,
"cluster": "mainnet-beta",
"owner": "7xKq...f3Ra",
"agent": "Ec9T...m2Ld",
"maxPerTx": 10000000,
"budget": 100000000,
"expiresAt": 1793923200000,
"allow": ["Dk4n...8sWp"],
"nonce": "k3j9d2"
}
// signature: ed25519(owner, canonical(mandate))
// memo: mandyr/1 9f21c0a7 jito tip batch #41Security model
Your owner key stays in your wallet. The agent key is derived from your signature and never stored or transmitted.
The mandate signature, expiry, revocation, caps and allowlist are all verified before every transaction is built.
Limits are enforced by the Mandyr engine in your session, not an on-chain program yet. Anyone holding the agent key can bypass them, so keep it funded lightly.
FAQ
No. Your owner key stays in your wallet. The agent wallet is derived from a message you sign, and Mandyr does not store or transmit it.
Any Solana wallet that supports message signing, including Phantom and Solflare. The page detects installed wallets automatically.
The current engine governs SOL transfers and memo receipts: funding bots, tips, subscriptions, sub-wallets and payouts. Program-level swap and perp permissions are on the roadmap.
Not yet. Mandates are signed and verified by the Mandyr engine in your session, and anchored on-chain as memos for audit. An on-chain enforcement program is the next milestone.
Every further intent is denied. Revocation is also anchored on-chain when the agent has enough balance, and you can return the remaining funds to your wallet at any time.
Mandyr charges nothing. You only pay the normal Solana network fee, around 0.000005 SOL per transaction.
Solana requires a new account to hold a rent-exempt minimum of about 0.00089 SOL. Sending less than that to a brand new address fails, so use allowlisted addresses that already exist or send slightly more.
Connect a Solana wallet, sign a mandate and watch live transactions get approved or denied on mainnet.
Open the console