Vibe coding = describe outcomes, not steps. The agent picks tools. You sanity-check.Documentation Index
Fetch the complete documentation index at: https://docs.dzap.io/llms.txt
Use this file to discover all available pages before exploring further.
Patterns that work
1. Anchor on accounts
The agent does better when wallet + chain are in metadata, not buried in the prompt:2. Ask for plans before actions
For trades, two prompts beats one:3. Composing tools
Don’t manually call tools in series — the agent’s better at it:PoolTool → reason about APR → fire ZapCallDataGeneratorTool.
4. Constraints in plain English
Gotchas
Hallucinated addresses
LLMs can invent token addresses. Always pass an account or token via metadata when accuracy matters; fall back toTokenAddressTool to look up by symbol.
Slippage units
Tools and APIs use percent, not basis points.1 = 1%. The agent gets this right when you say “1%”; it sometimes converts oddly when you say “100 bps”.
Native tokens
Native ETH/MATIC/etc. uses the sentinel0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE. Tools handle this transparently when you say “ETH”; they get confused if you pass 0x0...0 (zero address).
Multi-chain ambiguity
“Swap USDC for WETH” without a chain is ambiguous. Either set chain in metadata or specify (“on Arbitrum”). The agent will ask for clarification if it’s missing.Bridge timing
Cross-chain bridges aren’t instant. The agent kicks offgetZapTxnStatus polling but a UI loop should also poll independently — bridges can settle in seconds (Across) or minutes (CCTP).
Recipes
Daily portfolio summary
Rebalance to target
News-driven swap idea
When NOT to use the agent
- High-value trades — the agent’s good at planning; for $100k+ swaps, drive the SDK directly with explicit slippage and review the route.
- Production wallets — never give a production hot wallet’s key to an unsupervised agent. Use session keys and limits. See ZapBot Safety.
- Deterministic flows — if you know exactly what should happen every time, the SDK is faster and cheaper.