Reference

Technical Architecture

Written by , Product docsLast updated

Overview

The Hive server is structured around a provider-backed tool catalog plus Hive-native stateful tools, with multiple access surfaces layered on top.


Main Layers

Wrapped provider catalog

This is the live provider-backed tool surface used by the server runtime.

  • 351 wrapped provider tools
  • provider-backed handlers
  • shared schema and metadata normalization

Hive-native stateful layer

This layer adds persistence on top of provider calls.

  • 18 Hive-native tools
  • monitor, alert, observation, memory, report, and B2B subject handlers
  • subject-scoped state for partner integrations

Root MCP endpoint

The root /mcp endpoint is the recommended AI-facing surface.

  • compact discovery-oriented tools/list
  • resource-based discovery through hive://tools, hive://categories, hive://providers, hive://toolsets, hive://task-canaries, hive://skills, and hive://status
  • exact tool execution through invoke_api_endpoint

Category-scoped MCP endpoints

These are narrower surfaces built from toolRegistry.ts.

  • 10 scoped endpoints
  • 351 categorized provider tools
  • direct tools/list results by category

REST API

The REST layer exposes:

  • GET /api/v1/tools for the full 369-tool callable catalog
  • POST /api/v1/execute for tool execution
  • GET /api/v1/usage for plan, credit wallet, and key summary
  • GET|POST|DELETE /api/v1/keys for dashboard key management
  • GET /api/openapi.json and /docs for OpenAPI documentation
  • /status, /api/health/*, /live, /ready, and /startup for health and canaries

Provider Routing

Requests are routed to provider-specific handlers based on tool metadata.

Current live provider inventory:

  • CoinGecko
  • Alchemy
  • DeFiLlama
  • GoPlus
  • Codex
  • CCXT
  • Helius
  • Tenderly
  • Moralis

Discovery Model

There are two important discovery patterns:

  1. Root discovery for task routing, schema lookup, and invoke_api_endpoint
  2. Category-scoped discovery for smaller, direct tool lists

This distinction is the main reason the docs now separate Tools Reference from Live Catalog.