build-on-base
by base
Complete Base development playbook. Covers: (1) Network — Base RPC URLs, chain IDs (8453/84532), explorer config, testnet setup, connect to Base, Base Sepolia;…
npx skills add https://github.com/base/skills --skill build-on-baseBase Development
Complete playbook for building on Base L2 — network setup, smart contracts, wallet auth, payments, developer tool attribution, and framework migrations.
Default Stack
| Layer | Default |
|---|---|
| Network | Base Mainnet (8453) / Base Sepolia testnet (84532) |
| Contracts | Foundry (forge create + BaseScan verification) |
| Wallet auth | Base Account SDK (@base-org/account) |
| Payments | Base Pay — USDC, gasless, settles in <2s |
| Transactions | wagmi + viem |
| Attribution | Builder Codes — ERC-8021 via ox/erc8021 |
| RPC (prod) | Dedicated node provider or self-hosted Reth |
Safety Guardrails
- Never commit private keys — use
cast wallet importfor Foundry keystores - Never expose RPC API keys or CDP credentials client-side — proxy through backend
- Never skip server-side payment verification — always call
getPaymentStatus()server-side and verifysender,amount,recipient; track processed tx IDs to prevent replay attacks - Never send transactions without Builder Code attribution — silent data loss, no errors, no warnings
- Validate all user-provided shell inputs before constructing forge/cast commands (no spaces, semicolons, pipes)
- COOP headers for Base Account popups — use
same-origin-allow-popups, notsame-origin
Task Routing
Read the reference for your task:
| Task | When to Use | Reference |
|---|---|---|
| Network config | RPC URLs, chain IDs, explorer links, testnet setup | references/network.md |
| Deploy contracts | Foundry deployment, BaseScan verification, faucet | references/deploy-contracts.md |
| Run a Base node | Self-hosted RPC, Reth, hardware requirements | references/run-node.md |
| Builder Codes | Add ERC-8021 attribution to transactions | references/builder-codes/overview.md |
| Base Account SDK | SIWB, Base Pay, subscriptions, sub-accounts | references/base-account/overview.md |
| Register AI agent/bot | Register wallet, get builder code, wire attribution | references/agents/register.md |
| Migrate from OnchainKit | OnchainKitProvider → wagmi, wallet/tx components | references/migrations/onchainkit/overview.md |
| MiniKit → Farcaster SDK | @coinbase/onchainkit/minikit → @farcaster/miniapp-sdk | references/migrations/minikit-to-farcaster/overview.md |
| Farcaster miniapp → regular app | Remove Mini App host coupling, convert to Base/web app | references/migrations/farcaster-miniapp-to-app.md |
Operating Procedure
- Classify the task using the table above
- Read the relevant reference before implementing
- Confirm the framework with the user when multiple options exist (e.g., Privy vs wagmi for Builder Codes)
- Implement with explicit chain ID, security requirements, and all required validations
- Deliver diffs, install commands, and any manual steps (env vars, API key setup, wallet registration)
For Edge Cases and Latest API Changes
- AI-optimized docs: docs.base.org/llms.txt
- Base Account reference: docs.base.org/base-account
- Base chain docs: docs.base.org
Installation
npx skills add base/skills --skill build-on-base