Spaces:
Build error
Build error
metadata
title: botAgentHub
emoji: 🤖
colorFrom: blue
colorTo: indigo
sdk: docker
pinned: false
BOT Agent Hub
BOT Agent Hub is an on-chain-native agent infrastructure primitive for BOT Chain:
AgentRegistry.solas canonical source of truth- Public directory and agent detail pages
- Wallet-based registration flow
- Event indexer that serves fast list queries
Monorepo Layout
apps/web- Next.js app (/,/agents,/agents/[id],/register,/me,/docs)apps/indexer- Node.js + viem + Postgres event listener/APIpackages/contracts- Foundry smart contracts/testspackages/shared- Shared chain and type definitions
Deployments
| Network | Address | Block | Tx |
|---|---|---|---|
| Bohr Testnet (968) | 0xe8B222746c5AA98B9cB3f3aa3aB565d2BD525074 |
11897190 | 0x7cd2…87e5 |
| BOT Mainnet (677) | — | — | — |
Networks
| Network | Chain ID | RPC | Symbol | Status |
|---|---|---|---|---|
| Local Anvil | 677 | http://127.0.0.1:8545 | BOT | Dev loop |
| BOT Chain Testnet (Bohr) | 968 | https://rpc.bohr.life | tBOT | V1 target |
| BOT Chain Mainnet | 677 | https://rpc.botchain.ai | BOT | Gated — see warning |
⚠️ Mainnet Warning: Mainnet's public RPC has eth_getLogs disabled. The indexer's getLogs backfill will fail against rpc.botchain.ai. Use a third-party RPC or a WebSocket subscription before promoting to mainnet. Source: BOT Chain Developer Docs.
Quick Start (Bohr Testnet - Default)
1. Configure Prerequisites
- Claim tBOT from the faucet at the Bohr Faucet Claim Page using a test wallet.
- Add BOT Chain Testnet to MetaMask:
- Name: BOT Chain Testnet
- RPC URL: https://rpc.bohr.life
- Chain ID: 968
- Symbol: tBOT
2. Install Dependencies
pnpm install
3. Deploy Registry Contract to Bohr Testnet
cd packages/contracts
DEPLOYER_PRIVATE_KEY=0x... forge script script/DeployAgentRegistry.s.sol:DeployAgentRegistry \
--rpc-url https://rpc.bohr.life \
--broadcast
Record the deployed contract address and start block.
4. Setup Environment Files
Create your environment configurations by copying templates:
- Root / indexer:
.env.example→.env(SetAGENT_REGISTRY_ADDRESSandSTART_BLOCK) - Web:
apps/web/.env.local.example→apps/web/.env.local(SetNEXT_PUBLIC_AGENT_REGISTRY_ADDRESS)
5. Start Indexer
pnpm indexer:dev
6. Start Web App
pnpm web:dev
Local Development (Anvil Inner Loop)
For rapid iteration without testnet transactions, run the local dev loop:
- Start Anvil local node:
anvil --chain-id 677 --port 8545 - Deploy contract to Anvil:
cd packages/contracts DEPLOYER_PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 forge script script/DeployAgentRegistry.s.sol:DeployAgentRegistry --rpc-url http://127.0.0.1:8545 --broadcast - Configure Environment Variables:
In your root
.envandapps/web/.env.localfiles, update:BOT_NETWORK=local/NEXT_PUBLIC_BOT_NETWORK=localAGENT_REGISTRY_ADDRESS=0x5FbDB2315678afecb367f032d93F642f64180aa3
- Start local Postgres DB container:
docker run --name bot-postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=bot_agent_hub -p 5432:5432 -d postgres - Start services:
pnpm indexer:dev pnpm web:dev
Deployment
- Deploy contract from
packages/contracts. - Set deployed address in indexer/web env vars.
- Deploy
apps/webto Vercel. - Deploy
apps/indexerto Railway/Fly (seeapps/indexer/Dockerfile).
Safety
Alpha software. No custody of private keys. Use at your own risk.