RulesyourAIagentcan'tbreak.
Merlin is the safety layer for AI agents trading onchain. Set spend caps, trade limits, a token allowlist and a kill switch, and every trade is checked before it is sent.
- Kill switch
- Token allowlist
- Max trade size
- Daily spend cap
- Contract checkOwner can raise the sell fee to 99%
Agents move fast. Mistakes move faster.
AI agents now trade real money onchain, and almost nothing checks a trade before it happens.
Five rules. One decision per trade.
The agent owner sets the rules once. Merlin checks every trade against all five and answers allow or block, with a reason both of you can read.
Built for Uniswap v4
v4 hooks let every token carry its own trading rules. Merlin reads them before your agent buys, so a hook that can change fees or block selling never catches you out.
One check before every trade.
Merlin sits between your agent and the chain. It never holds or moves funds, so it adds safety without adding risk.
Play the agent. Watch Merlin decide.
Change the trade and see which rule catches it. This preview runs the Merlin rule engine in your browser with sample token reports.
Uniswap
Pause every trade for this agent.
Kill switch
Trading is active
Token allowlist
UNI is approved
Max trade size
0.4 ETH is within the 0.5 ETH limit
Daily spend cap
1.6 ETH of 2 ETH used after this trade
Contract check
Verified, no red flags found
Add Merlin in a few lines.
Works with any agent framework that can make an HTTP call. Keys stay on your server; Merlin never asks for a private key.
import { Merlin } from "@merlin/sdk";
const merlin = new Merlin({ apiKey: process.env.MERLIN_API_KEY });
// Ask Merlin before every trade
const check = await merlin.check({
agentId: "agent_01",
token: "0x1f98...f984", // UNI
amountEth: 0.4,
});
if (check.decision === "ALLOW") {
await agent.swap(trade);
} else {
console.warn("Blocked by Merlin:", check.reason);
}SDK and API shown as planned for v1. Endpoint and package names may change before release.
The token is the key. Merlin is the product.
The Merlin token launches on Ethereum mainnet through Programmable's Custom Launch, on Uniswap v4. It unlocks more of Merlin; it is not a promise of returns.
- 1 agent
- Daily check allowance
- All five core rules
- Dashboard and trade log
- More agents
- More checks per day
- Advanced rules as they ship
- Early access to new features
| Network | Ethereum mainnet |
| Launch | Programmable Custom Launch |
| Supply | 1,000,000,000 tokens, fixed. No mint function, no owner. |
| Pool | Uniswap v4, ETH / Merlin |
| Allocation | The whole supply goes into the pool. No team allocation. The project wallet makes a first buy of about $1 inside the launch transaction. |
| Opening value | About $20,000, and never below $15,000, checked against a live ETH/USD price feed. |
| Liquidity | Locked forever. The launch contract holds it and has no way to remove or move it. |
| Trading fee | 3% on every buy and sell, paid in ETH: 2.7% to the Merlin project and 0.3% to Programmable. |
Opening fee
For the first 30 seconds, buys pay a 99% fee that falls steadily to the normal 3%. The extra goes to Programmable's treasury. Sells pay the normal fee throughout.
Wallet limit
For the first 5 minutes, no wallet can buy or receive more than 2% of the supply in total. Selling or moving tokens out does not reset the limit.
Limits and tiers will be published before they go live. Nothing on this site is financial advice.
Ship small. Ship safe.
Each phase ships something people can use before the next one starts. Onchain enforcement goes live only after a full external audit.
- Phase 1NowLaunchCheck API, dashboard, SDK, live preview and the Merlin token on Programmable.
- Phase 2AdoptionPython SDK, example agents and plug-ins for popular agent frameworks.
- Phase 3Holder accessAgent and check limits tied to holding the Merlin token, plus advanced rules.
- Phase 4Onchain enforcementAn audited Uniswap v4 hook that enforces the same rules inside the pool.
- Phase 5IntelligenceAI alerts for unusual agent behaviour and support for more chains.
Questions, answered.
Anything else? Reach the team on X.