Agent (eltociear) cannot perform these — browser/manual/wallet operations needed.
Priority: CRITICAL (blocks everything)
- Go to https://developer.worldcoin.org
- Sign in (or create account)
- Create new app:
- App Name:
Agent Passport - Action:
register-agent-passport - Max Verifications per Person:
Unlimited(nullifier is per-action anyway) - Verification Level:
Orb+Device(both)
- App Name:
- Copy
app_id(looks likeapp_xxxxxxxxxxxxxxx) - Paste into
.env:WORLD_ID_APP_ID=app_xxxxxxxxxxxxxxx
Without this, World ID verification returns 400.
Priority: HIGH (blocks contract deployment)
- Pick a deployer wallet (can be existing or new)
- Fund it with ~0.005 ETH on Base Mainnet (gas for deploy ≈ $1-2)
- Bridge from Ethereum: https://bridge.base.org
- Or buy directly on Coinbase → send to Base
- Export private key
- Paste into
.env:PRIVATE_KEY=0x_your_deployer_private_key
For testnet first (recommended):
- Use Base Sepolia faucet: https://www.alchemy.com/faucets/base-sepolia
- Deploy with
--rpc-url base_sepolia
Priority: HIGH (after step 1 & 2)
Once wallet is funded, agent can run:
cd contracts
# Testnet first
MINTER_ADDRESS=0x_your_backend_wallet \
forge script script/Deploy.s.sol:DeployScript \
--rpc-url https://sepolia.base.org \
--broadcast -vvvv
# Then mainnet
MINTER_ADDRESS=0x_your_backend_wallet \
forge script script/Deploy.s.sol:DeployScript \
--rpc-url https://mainnet.base.org \
--broadcast --verify -vvvvBut the PRIVATE_KEY must be set by human first.
Priority: MEDIUM (nice-to-have for trust)
- Go to https://basescan.org/register
- Create account → get API key
- Paste into
.env:BASESCAN_API_KEY=your_api_key
This allows --verify flag on deploy to auto-verify source code on Basescan.
Priority: MEDIUM (for production)
Options:
- Railway (like RoastArena):
railway.app— free tier, auto-deploy from GitHub - Render:
render.com— free tier - VPS: Any server running
uvicorn app.main:app --host 0.0.0.0 --port 8080
The baseURI in the SBT contract should point to this (e.g., https://agent-passport.xyz/api/v1/token/).
Priority: LOW (Phase 2)
When building the frontend with IDKit widget:
- In Developer Portal → App Settings → add redirect URIs
- Must be HTTPS, no port numbers, no URL fragments
- Example:
https://agent-passport.xyz/verify
| # | Task | Blocker For | Est. Time |
|---|---|---|---|
| 1 | World ID app registration | All verification | 5 min |
| 2 | Fund Base wallet | Contract deploy | 5 min |
| 3 | Deploy SBT contract | On-chain badges | 2 min (after 1&2) |
| 4 | Basescan API key | Source verification | 3 min |
| 5 | Hosting | Production API | 10 min |
| 6 | IDKit redirect URI | Frontend widget | 2 min |
Total human time: ~30 minutes. After that, agent handles everything else.