GOAT Hackathon 2026 Demo project for a "daily GOAT chain concierge".
This app focuses on high-frequency user problems on GOAT Network:
- Check token balances without remembering contract addresses
- Find a better swap quote and reduce slippage risk
- See whether current gas is low or expensive
- Request faucet funds on testnet
- Track transaction confirmation status
- Discover more trustworthy ERC-8004 agents
- Pay for premium agent services with an x402-style flow
- A polished frontend demo page built with Next.js
- GOAT-focused helper APIs for balances, quotes, gas, faucet, tx tracking, and agent lookup
- ERC-8004-friendly positioning for hackathon demos
- MetaMask-based x402 payment flow
- create order
- sign EIP-712 payload
- submit signature
- send ERC20 payment from wallet
- confirm settlement
- Next.js 14
- TypeScript
- Tailwind CSS
- ethers v6
- local
@goatnetwork/agentkitSDK
src/pages/index.tsx Main hackathon demo page
src/pages/api/helper.ts Unified helper API
src/pages/api/x402/* x402 order / signature / settlement routes
src/lib/goat.ts GOAT chain helper logic
src/lib/x402.ts x402 merchant/order logic
Install dependencies:
npm installRun the app:
npm run devOpen:
http://localhost:3000
Create .env.local if needed:
GOAT_MAINNET_RPC_URL=https://rpc.goat.network
GOAT_TESTNET_RPC_URL=https://rpc.testnet3.goat.network
GOAT_FAUCET_URL=https://bridge.testnet3.goat.network/api
X402_NETWORK=goat-testnet
X402_RECEIVER_ADDRESS=0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1
X402_TOKEN_ADDRESS=0x29d1ee93e9ecf6e50f309f498e40a6b42d352fa1
X402_ASSET_SYMBOL=USDC
X402_TOKEN_DECIMALS=6Notes:
- The current x402 flow is frontend wallet driven, so no server private key is required.
X402_RECEIVER_ADDRESSis the merchant/agent receiving wallet.X402_TOKEN_ADDRESSmust match a real transferable token on the chosen GOAT network.
Suggested hackathon demo order:
- Show the homepage and explain the 6 user pain points.
- Demo balance lookup by token symbol.
- Demo swap quote comparison.
- Demo gas snapshot.
- Demo faucet helper.
- Demo tx tracking.
- Demo x402 payment with MetaMask.
The payment flow currently works like this:
- Frontend calls
/api/x402/create-order - Backend creates a merchant order and returns typed-data payload
- User signs with MetaMask
- Frontend calls
/api/x402/submit-signature - Frontend sends ERC20 transfer from the connected wallet
- Frontend calls
/api/x402/confirm-settlement
Relevant endpoints:
/api/x402/create-order/api/x402/submit-signature/api/x402/order-status/[paymentId]/api/x402/confirm-settlement/api/x402/cancel-order
Current agent metadata URI:
Official registration page:
GitHub: