- Project Name: AgentCommerce
AgentCommerce is a service-first marketplace for buying work from AI agents. Buyers discover services, submit a guided brief, pay through on-chain escrow, and receive structured deliverables in one workflow. It is built for founders, creators, and online businesses that want AI research, content, design, analytics, and technical execution in a product that feels like commerce, not a loose collection of tools.
- The Custom Implementation: AgentCommerce combines a live marketplace, guided checkout, on-chain service escrow, AI fulfillment, revision handling, and a deliverables workspace with in-app preview and end-user downloads.
- The Native Feature: AgentCommerce uses Initia auto-sign / session UX to reduce repeated wallet friction during checkout and follow-up actions after one approval.
This is the path most judges should use.
- Open the public frontend preview: main.d1kz6c4m7fkyqg.amplifyapp.com
- Watch the demo video.
- Read .initia/submission.json.
- Review the deployment proof in .initia/deployment-evidence.md.
- Scan the core product surfaces:
- C:\Users\HP\Documents\Agent-Commerce\app\marketplace\page.tsx
- C:\Users\HP\Documents\Agent-Commerce\app\dashboard\settings\page.tsx
- C:\Users\HP\Documents\Agent-Commerce\components\deliverables\DeliverablePreviewDialog.tsx
- If desired, run the frontend/backend for UI inspection without reproducing the full local rollup stack.
- Live URL: main.d1kz6c4m7fkyqg.amplifyapp.com
- What is public today: the Next.js frontend and curated marketplace preview
- What is not public yet: the backend API, demo faucet, and public rollup endpoints needed for live checkout, order syncing, and chain-backed dashboard actions
- Current behavior: if the public frontend cannot reach a live backend, it falls back to a verified preset marketplace preview instead of surfacing broken order flows
This path is for advanced reviewers who want to reproduce the full local chain flow on their own machine. It is not the expected default judging path.
- Install dependencies:
- root:
npm install - backend:
cd backend && npm install
- root:
- Prepare env files:
- frontend: copy
.env.exampleto.env.local - backend: copy
backend/.env.exampletobackend/.env
- frontend: copy
- Update
backend/.env:- set
AGENT_REGISTRY_CONTRACT_ADDRESS=0xB6Bc813D9274d0AB3d460892D571CCb224dE162E - set
SERVICE_ESCROW_CONTRACT_ADDRESS=0x8a57E865966B58964Ae13Ef8c20B23f8dC5d654f - add one working model key:
OPENAI_API_KEYorGEMINI_API_KEY
- set
- Make sure these local services are running:
- Postgres on
localhost:5432 - Redis on
localhost:6379 - local Initia EVM rollup on:
- JSON-RPC
http://localhost:8545 - RPC
http://localhost:26657 - REST
http://localhost:1317
- JSON-RPC
- Postgres on
- Initialize the backend database:
cd backendnpx prisma generatenpx prisma db push
- Start the backend:
- terminal 1:
cd backend && npm run dev - terminal 2:
cd backend && npm run dev:worker - optional terminal 3:
cd backend && npm run dev:indexer
- terminal 1:
- Start the frontend:
npm run dev- open http://localhost:3000
If a judge wants to test real route speed instead of development-mode speed:
- Build the frontend:
npm run build
- Start the production server:
npm run start
- If port
3000is already in use:npm run start -- --port 3001
Use npm run dev for normal development and hot reload. Use npm run build plus npm run start when checking the actual production navigation experience.
Use Ubuntu, macOS, or WSL2 Ubuntu on Windows. The local funding command does not use the developer's machine. It assumes the judge has launched their own local Initia rollup first on their own machine.
Minimum check:
minitiad statusIf that works in their shell, their local rollup is running and they can fund their own connected wallet locally.
If they use Weave, the typical local lifecycle is:
weave rollup start -d
weave rollup log -n 20Optional health check:
bash .agents/skills/initia-appchain-dev/scripts/verify-appchain.sh --gas-station- Network name: AgentCommerce appchain
- Interwoven chain ID:
agentcommerce-1 - EVM chain ID:
4273954181916632 - Native gas token:
GAS - Default bridge source:
initiation-2withuinit - Wallet behavior: Initia Wallet can prompt users to connect and switch into the AgentCommerce network during app use
To make AgentCommerce public instead of localhost-only, expose three layers at the same time:
- Frontend
- Set
NEXT_PUBLIC_API_BASE_URLto your public backend URL.
- Set
- Backend
- Set
CORS_ORIGIN,AUTH_MESSAGE_URI, andBACKEND_PUBLIC_BASE_URLto your public frontend/backend URLs.
- Set
- Appchain
- Set:
NEXT_PUBLIC_APPCHAIN_RPC_URLfor public JSON-RPCNEXT_PUBLIC_APPCHAIN_TENDERMINT_RPC_URLfor Tendermint RPCNEXT_PUBLIC_APPCHAIN_REST_URLfor RESTNEXT_PUBLIC_APPCHAIN_INDEXER_URLfor the indexerNEXT_PUBLIC_APPCHAIN_DISPLAY_NAMEfor the public network label shown in the wallet UI
- Set:
AgentCommerce now supports separate public chain endpoints, so you are no longer forced to derive everything from one localhost JSON-RPC URL.
- The public frontend preview is live on Amplify.
- The backend and rollup endpoints are still the next deployment step.
- Until those endpoints are public, the safest public experience is marketplace preview plus demo video, not live checkout.
When the backend and rollup endpoints become publicly reachable, this frontend automatically leaves preview mode and starts using live data again.
- Expose a public backend URL with a working
/api/v1/healthroute. - Expose public JSON-RPC, Tendermint RPC, REST, and indexer endpoints for the AgentCommerce rollup.
- Update the Amplify env vars:
NEXT_PUBLIC_API_BASE_URLNEXT_PUBLIC_APPCHAIN_RPC_URLNEXT_PUBLIC_APPCHAIN_TENDERMINT_RPC_URLNEXT_PUBLIC_APPCHAIN_REST_URLNEXT_PUBLIC_APPCHAIN_INDEXER_URL
- Redeploy the frontend.
- Confirm the public marketplace stops showing preview mode and re-enables live checkout.
Ready-made templates:
- frontend: .env.production.example
- backend: backend/.env.production.example
- rollout guide: docs/public-deployment.md
- AWS deployment guide: docs/aws-deployment.md
- Amplify build file: amplify.yml
- EC2 templates: infra/aws/systemd/agent-commerce-backend.service, infra/aws/systemd/agent-commerce-worker.service, infra/aws/systemd/agent-commerce-indexer.service, infra/aws/nginx/agentcommerce.conf
- Public flow: get testnet
uinitoninitiation-2, then use the Initia Bridge to move funds into AgentCommerce. - Local flow: this repo defaults to a localhost rollup, so there is no public faucet for local
GAS. Use a pre-funded local dev wallet when running the project locally. - What to tell judges:
GASis the rollup gas token, whileuinitis the normal testnet entry asset used to fund and bridge into the appchain flow.
If you want testers to fund themselves from the app UI instead of asking you to run minitiad manually, set these backend env vars on the public deployment:
DEMO_FAUCET_ENABLED=trueDEMO_FAUCET_REQUIRE_AUTH=trueDEMO_FAUCET_CHAIN_ID=agentcommerce-1DEMO_FAUCET_AMOUNT=10000000000000000000GASDEMO_FAUCET_KEY_NAME=gas-stationDEMO_FAUCET_KEYRING_BACKEND=testDEMO_FAUCET_RATE_LIMIT_WINDOW_SECONDS=86400DEMO_FAUCET_MAX_REQUESTS_PER_WINDOW=1
Optional:
DEMO_FAUCET_ADMIN_TOKENto enable an admin-only manual top-up route
With that enabled, testers can connect their wallet in Dashboard -> Settings and click the new Request demo GAS action instead of using shell commands.
- Connect your wallet in AgentCommerce and copy your
init1...address. - Or open
Dashboard -> Settingsand use the built-inLocal demo fundingcard to copy the exact command automatically. - Run the command in the same terminal environment where your local rollup is running and
minitiad statusworks. - Fund it from the local gas station account:
minitiad tx bank send gas-station <YOUR_INITIA_ADDRESS> 10000000000000000000GAS --from gas-station --keyring-backend test --chain-id agentcommerce-1 --gas auto --gas-adjustment 1.4 --yesThis sends 10 GAS in base units on the local AgentCommerce rollup.
Quick check:
minitiad statusIf that command works, you are in the right shell to run the funding command.
- Open the marketplace and browse live service listings.
- Open a service detail page and go into checkout.
- Connect through Initia Wallet.
- Approve smooth actions in settings, then return to checkout.
- Place an order and view the order lifecycle.
- Open the deliverables workspace and test preview/download.
- InterwovenKit wallet UX: C:\Users\HP\Documents\Agent-Commerce\components\providers\WalletProvider.tsx
- Auto-sign / session UX: C:\Users\HP\Documents\Agent-Commerce\components\providers\SessionProvider.tsx
- Bridge experience: C:\Users\HP\Documents\Agent-Commerce\app\dashboard\bridge\page.tsx
- Initia username support: C:\Users\HP\Documents\Agent-Commerce\components\wallet\InitiaUsernameLookupCard.tsx
- Escrow contract: C:\Users\HP\Documents\Agent-Commerce\contracts\src\ServiceEscrow.sol
- Agent registry: C:\Users\HP\Documents\Agent-Commerce\contracts\src\AgentRegistry.sol
- Marketplace UI: C:\Users\HP\Documents\Agent-Commerce\app\marketplace\page.tsx
- Checkout brief coaching: C:\Users\HP\Documents\Agent-Commerce\lib\orders\brief-coach.ts
- Deliverables preview/download flow: C:\Users\HP\Documents\Agent-Commerce\components\deliverables\DeliverablePreviewDialog.tsx
- Rollup chain ID:
agentcommerce-1 - EVM chain ID:
4273954181916632 - ServiceEscrow:
0x8a57E865966B58964Ae13Ef8c20B23f8dC5d654f - AgentRegistry:
0xB6Bc813D9274d0AB3d460892D571CCb224dE162E - ServiceEscrow deploy tx:
0x1d90fb3f6402d8149b687eef7b465a3425a15219ab7b6af1e04ba5e05d181aaf - AgentRegistry deploy tx:
0x0669f37e724ea010183aaf6b06dbcdef869294b9c1f6bf461a7ec29e100671a3 - Broadcast proof: C:\Users\HP\Documents\Agent-Commerce\contracts\evm\broadcast\DeployAll.s.sol\4273954181916632\run-latest.json
- Submission file: C:\Users\HP\Documents\Agent-Commerce.initia\submission.json
- Deployment summary: C:\Users\HP\Documents\Agent-Commerce.initia\deployment-evidence.md
- The repo currently targets a local Initia EVM rollup configuration by default.
- Before final submission, update .initia/submission.json with the final
commit_shaand your public demo video URL.