Files
bootnode/api
zeekay ad6dc4e6eb feat: migrate billing from Stripe to Hanzo Commerce + Square
Remove all direct Stripe integration. Bootnode now uses Hanzo Commerce
API as its payment gateway (Commerce handles Square internally).

- Remove stripe dependency from pyproject.toml
- Rewrite commerce.py client with correct Commerce API paths:
  /api/v1/user (customers), /api/v1/subscribe (subscriptions),
  /api/v1/checkout/* (payments), /api/v1/order (orders/invoices)
- Add unified.py: IAM + Commerce customer linking (hanzo.id SSO)
- Rewrite webhooks.py: Commerce event handler with HMAC verification
- Update sync.py: usage metering via Commerce (not Stripe)
- Update billing API endpoints: checkout, account, webhooks
- Config uses COMMERCE_* prefix (not HANZO_COMMERCE_*)
- Add test_billing.py: 46 tests covering CU, tiers, Commerce client,
  webhooks, and unified billing
2026-02-10 20:50:18 -08: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