-
Get Base Sepolia ETH from faucet
- URL: https://www.coinbase.com/faucets/base-sepolia-faucet
- Need: 0.1+ ETH for deployment
-
Set up environment
- Copy
.env.exampleto.env - Add private key
- Add Basescan API key (optional, for verification)
- Copy
-
Install dependencies
npm install
-
Compile contracts
npx hardhat compile
-
Deploy to Base Sepolia
npx hardhat run scripts/deploy-testnet.js --network baseSepolia
-
Record contract addresses
- ExecutionFeeCollector:
0x... - ATTESTRegistry:
0x...
- ExecutionFeeCollector:
-
Verify contracts on Basescan (auto if API key set)
-
Update
.envwith contract addressesATTEST_CONTRACT_ADDRESS=0x... FEE_COLLECTOR_ADDRESS=0x... -
Test API locally
npm start # In another terminal: npm test
-
Deploy API (Render/Railway/VPS)
- Create account
- Connect GitHub repo
- Set environment variables
- Deploy
-
Create agent profile on Virtuals
- Upload manifest from
VIRTUALS_ACP.md - Set pricing
- Configure endpoints
- Upload manifest from
-
Test ACP integration
- Register service
- Test validation endpoint
- Test execution endpoint
- Monitor first transactions
- Check attestation creation
- Verify fee collection
- Update documentation
- Announce launch
- Get Base mainnet ETH
- Redeploy contracts
- Update API config
- Test with real capital
If issues detected:
- Pause service
- Investigate logs
- Fix issues
- Redeploy if needed
- Resume service
- Technical: @achillesalphaai
- Urgent: Telegram direct message
- Documentation: https://docs.execution-protocol.io