Files
zeekayandHanzo Dev 7d293212cb refactor: web/ is now console/ — bootnode/bootnode is the backend, bootnode/console the frontend
Names the two halves for what they are. The repo already holds both (12407e9 merged
bootnode/bootnode into this history); this makes the frontend directory say so, so the layout
reads the way the owner describes the system: backend and frontend separate, one repo.

git mv throughout — 187 renames, history preserved. Every path reference follows: hanzo.yml
build context and dockerfile, compose.yml, compose.prod.yml, start.sh, LLM.md,
infra/k8s/web-deployments.yaml, infra/cloud/deploy.sh, and the Dockerfile's own COPY paths.
Image and container names (bootnode-web, the -web tag suffix) are deliberately NOT renamed here:
those are a deploy contract the App CR and ingress bind to on port 3001, and breaking them is a
separate, staged change.

Console builds green after the move; the Go tree builds.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-26 17:47:51 -07:00

60 lines
2.0 KiB
TypeScript

import { getBrand } from "@/lib/brand"
export const dynamic = "force-static"
export async function GET() {
const brand = getBrand()
const apiDomain = brand.name === "Hanzo" ? "api.hanzo.ai" : `api.${brand.domain}`
const docsDomain = brand.name === "Hanzo" ? "web3.hanzo.ai" : brand.domain
const content = `# ${brand.name}
## ${brand.tagline}
> ${brand.description}
## Products
- Node: Multi-chain RPC with 99.999% uptime across 100+ chains
- Data: Token, NFT, and Transfer APIs
- Wallets: ERC-4337 Smart Wallets with Account Abstraction
- Webhooks: Real-time onchain event notifications
- Gas Manager: Gas sponsorship and paymaster policies
- Bundler: ERC-4337 bundler for UserOperations
- Rollups: Launch custom rollups
## API Base URL
https://${apiDomain}/v1
## Authentication
X-API-Key: <your-api-key>
## Endpoints
- POST /v1/rpc/{chain}/{network} - JSON-RPC proxy
- GET /v1/tokens/{chain}/balances/{address} - Token balances
- GET /v1/tokens/{chain}/metadata/{contract} - Token metadata
- GET /v1/nfts/{chain}/metadata/{contract}/{token_id} - NFT metadata
- GET /v1/nfts/{chain}/collection/{contract} - NFT collection info
- GET /v1/nfts/{chain}/owned/{address} - NFTs owned by address
- POST /v1/wallets/create - Create smart wallet
- GET /v1/wallets/{address} - Get wallet details
- GET /v1/wallets - List wallets
- POST /v1/webhooks - Create webhook
- GET /v1/webhooks - List webhooks
- PATCH /v1/webhooks/{id} - Update webhook
- DELETE /v1/webhooks/{id} - Delete webhook
- GET /v1/gas/{chain}/prices - Gas prices
- POST /v1/gas/policies - Create gas policy
- POST /v1/gas/sponsor - Sponsor a UserOperation
- POST /v1/bundler/{chain}/{network} - Bundler RPC
- WS /v1/ws/{chain}/{network} - WebSocket subscriptions
## Supported Chains
Ethereum, Solana, Base, Arbitrum, Polygon, Optimism, Avalanche, BNB Smart Chain, Lux Network, and 90+ more.
## Documentation
https://${docsDomain}/docs
`
return new Response(content, {
headers: { "Content-Type": "text/plain; charset=utf-8" },
})
}