Files
bootnode/api
zeekayandHanzo Dev 4f0c68df12 fix: get the API booting (stale refactor imports + qdrant healthcheck)
The api crashed on import after a half-finished model refactor, and the qdrant
healthcheck used a binary not in the image.

- compose.yml: qdrant ships no wget/curl, so its healthcheck always failed and
  blocked the api (depends_on service_healthy). Dropped the broken healthcheck and
  gate the api on qdrant service_started (qdrant itself serves fine on :6333).
- db/__init__.py: reconcile to the real models — drop removed Node + Cluster
  (now CRDs) and MPCWalletModel; export the actual set (User, OrgCluster,
  SmartWallet, Subscription, TeamMember, etc.).
- api/mpc + api/keys: MPCWalletModel -> SmartWallet (the renamed model).

API now boots healthy: GET /health 200 {"status":"healthy","version":"2.0.0"},
/docs serving, 42 node/chain/fleet endpoints live (fleets deploy/scale, presets,
pod health/logs). Full local stack up: postgres, redis, clickhouse, qdrant,
meilisearch, api.

Note (follow-up, not blocking boot): api/nodes/db_nodes.py + db/seed_nodes.py
still import removed Node/Cluster models — dead code to remove or port to the
fleet/CRD path; the web frontend build fails on a stale pnpm lockfile.

Co-authored-by: Hanzo Dev <[email protected]>
2026-06-18 22:33:54 +00:00
..

Hanzo Nodes API

Multi-chain blockchain infrastructure platform providing RPC, APIs, WebSockets, Webhooks, and ERC-4337 bundling.

Features

  • Multi-Chain RPC: 100+ EVM chains with load balancing
  • Token API: ERC-20 balances, transfers, prices
  • NFT API: ERC-721/1155 ownership, metadata, transfers
  • Wallet API: Portfolio tracking, activity history
  • WebSocket Subscriptions: Real-time blockchain events
  • Webhooks: Event notifications with delivery tracking
  • ERC-4337 Bundler: Account abstraction with gasless transactions
  • Gas API: Real-time gas estimates and EIP-1559 data

Quick Start

# Start dependencies
docker compose up -d postgres redis clickhouse

# Run API locally
uv run uvicorn bootnode.main:app --reload

# Or with Docker
docker compose up -d

API Endpoints

  • GET /health - Health check
  • POST /v1/rpc/{chain}/{network} - JSON-RPC proxy
  • GET /v1/tokens/{chain}/balance/{address} - Token balances
  • GET /v1/nfts/{chain}/owner/{address} - NFT ownership
  • POST /v1/webhooks - Create webhook
  • WS /v1/ws/{chain}/{network} - WebSocket subscriptions

Environment Variables

DATABASE_URL=postgresql+asyncpg://...
REDIS_URL=redis://...
DATASTORE_URL=clickhouse://...
JWT_SECRET=...

Documentation

License

BSD-3-Clause