Practice with virtual USDG
Trade the four pinned USDG routes with 10,000 virtual USDG. Quotes are pinned to one canonical chain head; fills and PnL stay in this browser.
Open Virtual TradingOpen execution infrastructure
OpenZaps turns a multi-step DeFi workflow into one bounded Zap. Compose the route and its execution policy, review the wallet confirmation, then Zap now, on a cadence, or on a price move. The Zap contract enforces the signed bounds onchain.
What is a Zap
5 manual actions
The problem
Every protocol works. Composing them by hand is the part that does not: allowances, quotes, tabs, and settlement scattered across surfaces that were never designed to be one workflow.
OpenZaps threads them back together — one route, one signature.
Recently shipped
Practice without a wallet, ask for a workflow before committing, or connect one executor to terms you sign. Every surface says exactly when authority begins—and what remains a candidate.
Trade the four pinned USDG routes with 10,000 virtual USDG. Quotes are pinned to one canonical chain head; fills and PnL stay in this browser.
Open Virtual TradingDescribe one workflow. We map its targets, assets, recipient, trigger, limits, recovery, and forbidden authority—with no wallet or integration commitment.
Request a ZapPin an executor address inside a standing intent. The agent may choose when to submit an eligible run; it cannot change the route or its terms.
Connect an agentThe v3.2 stack is live on Robinhood Chain: creation, execution, and permanent-halt canaries passed with onchain receipts. The contracts remain unaudited.
See the release mapOne action, many protocols
A Zap begins with what you hold and what you want. OpenZaps composes the pools, vaults, and settlement underneath into a single bounded policy — inspectable before it is signed.
Compose execution policy
Three execution controls now live in the block catalog. Add them together as one policy stack, tune them on the canvas, and carry the resolved values into the signed Zap now or Automate intent.
Caps the gas available to a signed Zap. A Zap outside the budget reverts.
Rejects execution when the transaction gas price exceeds the signed ceiling.
Keep automation open for liveness, or restrict submission to the owner wallet.
Gas limit and gas price cap bind Zap now and Automate intents. Owner-only executor access is live in v3/v3.1/v3.2 automation. The v1.1 one-shot handoff discloses that it cannot restrict the submitter.
Example Zaps
Six blueprints from the catalog. Hover a card to see the blocks and protocols underneath; open one and the builder loads this exact chain — live routes sign and Zap today, designs compile and save.
Preview an execution
The same compiler that powers the builder, executing here. Pick an intent, set an amount, and preview the checks a Zap performs before anything is signed.
Output amounts are quoted live at sign time, never estimated here.
OpenZaps can buy 0xZAPS through its pinned aeWETH → 0xZAPS route. Every Zap contract created by the current app converts its visible 0.00001 ETH creation fee into 0xZAPS atomically. A connected wallet holding 100,000+ 0xZAPS also gets auto-refreshing quotes, more saved Zaps and receipts, and receipt JSON export. The first 0xZAPS fee rewards campaign is fixed to a seven-day Aug 3–10, 2026 staking window. It was funded at launch with 50 of 100 tokenized Clanker fee shares and is configured to use time-weighted stake to allocate campaign-accounted WETH to eligible deposits during that window. Its harvest path was configured for Clanker fees, while direct WETH transfers can also be synchronized. Check /rewards for the current phase and later claim deadline. Every core workflow stays open without holding or staking the token.
Pinned Uniswap v4 pool, one bounded policy execution.
0.00001 ETH, converted atomically with a reviewed floor or the whole creation reverts.
Auto-refresh quotes, 50 saved Zaps, 100 receipts, JSON export.
Raises the app's saved-zap limit to 100.
Seven-day Aug 3–10, 2026 staking window; /rewards shows the current phase and later claim deadline.
Ownership alone grants no governance, automatic staking benefit, fee right, revenue claim, yield, equity, or return. The first campaign was limited to eligible deposits made during its fixed Aug 3–10, 2026 staking window; /rewards shows the current phase and later claim deadline.
Why OpenZaps
Once approved and funded, a bounded route executes its protocol hops and settlement in one transaction.
Anyone designs, shares, and executes Zaps — creation is open to any caller, and no signature but yours can move funds. Zaps execute only through governance-allowlisted adapters and tokens.
Typed blocks snap into chains; shapes must match, so what compiles is what can execute.
Every Zap's policy, provenance, and executions are public and re-verifiable on /explore.
Target, recipient, calldata, amounts, gas: fixed at signing. Execution cannot exceed the policy.
One signature can authorize a whole series. The Zap enforces the interval, the total number of runs, and a floor priced from live spot, so it keeps running without keeping your keys online.
Protocol integrations
Bright nodes carry deployed, bounded routes today. Dim nodes are typed into the catalog — designs compile against them now and deploy when their adapters ship.
Developers
The block catalog, compiler, and share-token codec are MIT TypeScript — the same modules rendering this page. Compose a chain, compile a verdict, ship a link.
import { compileChain, encodeChain, makeNode } from "@/lib/blocks"; const chain = [ makeNode("wallet-balance", "src", { asset: "USDG", amount: "25" }), makeNode("guard-gas-limit", "gas", { maxGas: 3_000_000 }), makeNode("guard-gas-price", "fee", { maxFeeGwei: 10 }), makeNode("guard-executor", "executor", { access: "Anyone" }), makeNode("guard-slippage", "cap", { bps: 50 }), makeNode("swap", "leg", { into: "0xZAPS" }), makeNode("send", "out"),]; const verdict = compileChain(chain);const link = `/zap?d=${encodeChain(chain)}`;// every chain is a shareable, executable linkPOST /api/policies/simulate — deterministic policy simulation over HTTP
Agent execution
A Zap is the contract between you and your agent: it can decide when to execute, and nothing else. An eligible executor can submit the Zap it owes, while the chain refuses every Zap it does not.
The agent can hold the trigger. It cannot change what the trigger does: target, calldata shape, recipient, and asset are welded in before signing.
Refuses any pool but the one welded into its constructor, any calldata beyond a bounded minimum-out, and any chain but 4663.
Security & transparency
Only the owner ever signs. A one-shot Zap is sent from the owner's wallet; a recurring or price-triggered Zap can be sent by any executor, and the Zap re-checks every bound before it settles. Nothing executes custodially.
Target, recipient, asset, and calldata shape are welded into the Zap. Execution cannot redirect them.
Every design compiles through the same checks before signing — fit, caps, guard coverage, gas constants.
The slippage cap (10–500 bps) sets the minimum output signed into each execution intent — the Zap reverts the trade if net output lands below it.
Amounts are capped at uint128; execution carries a 3,000,000 gas ceiling and a 10 gwei fee cap.
Funds stranded in a Zap are recoverable by the owner at any time — no permission needed.
compiled from the Triggered Zap in blueprint
Social Zaps
A designed chain encodes into a URL-safe token. Send it to anyone: the builder decodes it, compiles it, and — if it reduces to a live route — signs and Zaps it.
Attribution and fee-sharing for published Zaps are on the roadmap — links themselves work today.
OpenZaps FAQ
Start with the protocol model, then inspect the developer and security docs, the source-verified zap explorer, and the 0xZAPS token page.
A DeFi zap packages multiple supported protocol steps into one wallet transaction. OpenZaps executes only routes backed by allowlisted adapters and tokens; approval, Zap creation, and funding can require separate wallet confirmations.
The bounded route executes its protocol hops and settlement atomically in one transaction after setup. Token approval, Zap creation, and funding can each require a separate wallet confirmation.
No. The user wallet or Safe creates the authority and signs the policy. An eligible executor can submit only the transaction permitted by those immutable targets, assets, recipients, amounts, calldata constraints, and deadlines.
Recovery is lineage-specific. Live v1.1, v3, and v3.1 owners can invalidate unused signed authority and use the supported emergency-exit path for tracked assets; the v3.2 deployed candidate additionally exposes a one-way permanent policy halt. No control can undo a confirmed execution.
No. Live execution is limited to source-backed routes whose adapters and tokens are explicitly allowlisted. Additional protocols require reviewed adapters and tests before they can carry funds.
No. Deposited funds are at risk and onchain actions are irreversible: once an execution lands, nothing in the interface can undo it. Risk disclosures are collected on the legal page.
Execute across DeFi without navigating every layer beneath it.