skills/taiko/SKILL.md
Deploy, test, and interact with smart contracts on Taiko networks (Type-1 ZK-EVM rollup on Ethereum). Use when "Taiko", "Hoodi", "L2 deployment", "bridge", "forge", or "Taikoscan" is mentioned. For x402 payment APIs use the taiko-x402 skill instead.
npx skillsauth add taikoxyz/taiko-ai taikoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Build, deploy, and verify smart contracts on Taiko — a Type-1 ZK-EVM based rollup on Ethereum. Taiko targets 2-second block times powered by based preconfirmations.
Network Selection: If the user has not specified "hoodi" or "mainnet", always ask which network to use before proceeding.
See Networks Reference for chain IDs, RPCs, contract addresses, explorers, and API endpoints.
| Task | Command/Resource |
|------|------------------|
| Deploy contract | FOUNDRY_PROFILE=layer2 forge create ... |
| Verify (Taikoscan) | forge verify-contract --verifier-url $TAIKOSCAN_API_URL ... |
| Verify (Blockscout) | forge verify-contract --verifier blockscout ... |
| Verify (Etherscan V2) | forge verify-contract --verifier-url "https://api.etherscan.io/v2/api?chainid=$CHAIN_ID" ... |
| Fork testing | FOUNDRY_PROFILE=layer2 forge test --fork-url $TAIKO_RPC |
| Contract addresses | MainnetL1Addrs.sol / MainnetL2Addrs.sol / HoodiL1Addrs.sol / HoodiL2Addrs.sol in assets/foundry-template/src/ |
Use assets/foundry-template/ as a starting point.
Critical: Always use FOUNDRY_PROFILE=layer2 for Taiko L2:
FOUNDRY_PROFILE=layer2 forge build
FOUNDRY_PROFILE=layer2 forge test --fork-url $TAIKO_RPC
[profile.default]
solc_version = "0.8.30"
evm_version = "prague"
[profile.layer2]
evm_version = "shanghai"
See Networks Reference for RPC and Etherscan config.
FOUNDRY_PROFILE=layer2 forge create src/MyContract.sol:MyContract \
--rpc-url $TAIKO_RPC --private-key $PRIVATE_KEY
# With constructor args
FOUNDRY_PROFILE=layer2 forge create src/Token.sol:Token \
--rpc-url $TAIKO_RPC --private-key $PRIVATE_KEY \
--constructor-args "TokenName" "TKN" 1000000000000000000000000
# Via script
FOUNDRY_PROFILE=layer2 forge script script/Deploy.s.sol:DeployScript \
--rpc-url $TAIKO_RPC --private-key $PRIVATE_KEY --broadcast
# Mainnet
forge verify-contract <ADDRESS> src/MyContract.sol:MyContract \
--watch --verifier-url https://api.taikoscan.io/api \
--etherscan-api-key $TAIKOSCAN_API_KEY
# Hoodi
forge verify-contract <ADDRESS> src/MyContract.sol:MyContract \
--watch --verifier-url https://api-hoodi.taikoscan.io/api \
--etherscan-api-key $TAIKOSCAN_API_KEY
# Mainnet
forge verify-contract <ADDRESS> src/MyContract.sol:MyContract \
--chain-id 167000 --verifier blockscout \
--verifier-url "https://blockscoutapi.mainnet.taiko.xyz/api?"
# Hoodi
forge verify-contract <ADDRESS> src/MyContract.sol:MyContract \
--chain-id 167013 --verifier blockscout \
--verifier-url https://blockscout.hoodi.taiko.xyz/api
cast balance <ADDRESS> --rpc-url $TAIKO_RPC
cast chain-id --rpc-url $TAIKO_RPC
cast block-number --rpc-url $TAIKO_RPC
cast gas-price --rpc-url $TAIKO_RPC
cast send <TO> "functionName(args)" --rpc-url $TAIKO_RPC --private-key $PRIVATE_KEY
Mainnet: Bridge from Ethereum via https://bridge.taiko.xyz (24h cooldown for L2→L1)
Hoodi: Get test ETH from L1 faucets (see Networks Reference), then bridge via https://bridge.hoodi.taiko.xyz
Taiko runs live x402 facilitators for HTTP-native USDC payments on Mainnet and Hoodi. For building payment-protected APIs or AI agent clients, use the dedicated taiko-x402 skill — it covers seller middleware, buyer client setup, and full facilitator configuration.
| Issue | Solution |
|-------|----------|
| "Invalid EVM version" | Use FOUNDRY_PROFILE=layer2 |
| "Contract not verified" | Check API endpoint URL and key |
| "Insufficient funds" | Bridge ETH from L1 |
| "Transaction reverted" | Use cast run <TX_HASH> to debug |
See examples/ for Python (signal verification, block hash) and Solidity (bridge receiver, cross-chain counter).
Use taiko --json for structured output parseable by agents:
taiko network status --json # verify network reachability before any operation
taiko network info --json # chain ID, contract addresses, gas price
taiko contract verify <ADDR> <id> --network hoodi # preferred verify method (wraps forge with Taiko config)
taiko bridge status <TX_HASH> --json # check bridge relay status
All commands return: { schema_version, command, status, network, data, errors, warnings, metrics }
tools
Build and integrate x402 HTTP payment flows on Taiko using Taiko-operated facilitators. Use when adding per-request USDC payment gating to APIs deployed on Taiko (seller), building AI agents or clients that autonomously pay for x402 services (buyer), or configuring Taiko facilitators. Triggers: "x402", "HTTP payment", "pay per request", "monetize API", "USDC payment", "402 Payment Required", "facilitator.taiko.xyz", "paid API", "AI agent payments", "payment middleware".
tools
Use when performing private or anonymous ETH transfers on Taiko. Covers deposit creation, target address funding, ZK proof generation, and on-chain claiming via REST API or CLI.
tools
Set up, run, and manage Taiko nodes on Hoodi testnet or mainnet using Docker or from source. Use when "run node", "node operator", "simple-taiko-node", "taiko-geth", "taiko-client", or "sync" is mentioned.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.