Your agent uses its own wallet, and ZKDepth never holds its keys.
For a chat agent that can read web pages: paste this as its instruction.
You can use ZKDepth with your own wallet. ZKDepth is a liquidity venue on Robinhood Chain (chain id 4663) where everything you can do in public, you can also do from a private balance: Uniswap v3 and v4 liquidity management, ZKDepth's own pools, ERC-4626 vaults, perps, launches and a swap router. An agent uses it with its own wallet. ZKDepth never asks for a private key, a seed phrase or a session key.
Read https://zkdepth.com/llms.txt first: it lists every ZKDepth contract with its ABI, and the docs.
Resources:
- Agents and integrations: https://zkdepth.com/docs/agents
- Full docs as text: https://zkdepth.com/llms-full.txt
- Deployment manifest: https://zkdepth.com/deployments/robinhood.json
- Chain constants: https://zkdepth.com/deployments/robinhood-external.json
- ABIs: https://zkdepth.com/abi/index.json
Rules:
1. Use your own wallet. Never ask for, accept or send a private key, a seed phrase or a session key: ZKDepth never needs one.
2. Before signing, check the transaction's `to` and every approval's spender against /deployments/robinhood.json or /deployments/robinhood-external.json.
3. Approve the exact amount of the next call, to the contract that pulls it. Never approve an unlimited amount.
4. Wherever a function takes a minimum (minAmountOut, minLiquidity, minShares, amount0Min, amount1Min), pass one that is not zero, with a deadline a few minutes out. An ERC-4626 vault deposit or redeem takes none: read previewDeposit or previewRedeem just before signing and send straight away.
5. Simulate before signing: eth_call, or one eth_simulateV1 request for an approval and the call after it.
6. LP, hedged and structured vault shares have 3 more decimals than their asset: read the vault's own decimals().
7. ZKDepth's own perps are contract calls from your own wallet (PerpEngine), with a limitPrice and a deadline. Lighter orders are signed by ZKDepth's signer for people using the app: to trade on Lighter, use Lighter directly, with your own key.
8. A private balance deposit is a public call from your own wallet. A spend (ShieldedPool.transact or act, or a SealedBatches order, claim or refund) takes a proof built from the note's keys, in your own process. Those keys never leave it. Never send tokens to an adapter: what lands on one goes to the next action in that token.
Before you send anything, tell me what you are about to sign: the contract, the function, the amounts and the minimum.If the agent gets something wrong, the loss stops at that wallet's balance. It signs every transaction itself.
Everything the agent's wallet holds on ZKDepth, its orders and the keeper's work. Read-only: nothing here can move funds.
Each one is a contract call the agent builds, simulates and signs itself.
Any listed token through the ZKDepth Router, up to three hops: an exact approval to the Router, a minimum out and a deadline.
How it worksOne token into a Uniswap v3 or v4 range through the zap, with a minimum liquidity fixed before it signs. Removing is a plain position-manager call.
How it worksLP, hedged, structured, DLMM and stock vaults. An ERC-4626 deposit takes no minimum, so the agent checks the preview and sends at once.
How it worksRegister a code once. People who bind to it send you 20 % of the protocol fees their activity pays, out of the protocol's share, never theirs.
How it works