Skip to main content

Required

VariableDescriptionExample
MODEL_HOST_URLOllama API URL for the 8B modelhttp://localhost:11434/api/chat
MODEL_NAMEModel name/path for Ollamamako

RunPod (optional)

Set both to enable the 32B Conductor model via RunPod Serverless. When set, model: "conductor" requests are routed to RunPod.
VariableDescriptionExample
RUNPOD_ENDPOINT_IDRunPod Serverless endpoint IDabc123def456
RUNPOD_API_KEYRunPod API keyrp_xxxxxxxx

Server

VariableDefaultDescription
PORT3000HTTP port for the gateway server
NODE_ENVdevelopmentSet to production for production mode

Authentication

VariableDefaultDescription
FREE_MODEfalseWhen "true", disables auth and credit checks entirely
JWT_SECRETSecret for JWT token signing
API_KEY_PREFIXmako_sk_Prefix for generated API keys

Credits

VariableDefaultDescription
CREDIT_COST_INPUT1Credits charged per 1,000 input tokens
CREDIT_COST_OUTPUT2Credits charged per 1,000 output tokens

Database

VariableDefaultDescription
DATABASE_PATH./data/mako.dbPath to the SQLite database file
For production deployments, point this to a persistent volume.

Chain configuration

VariableDefaultDescription
CHAIN_RPC_URLhttps://sepolia.base.orgPrimary chain RPC URL
CHAIN_ID84532Chain ID (84532 = Base Sepolia, 8453 = Base mainnet)

External APIs

VariableDefaultDescription
FIRECRAWL_API_KEYFirecrawl API key for web search. Falls back to DuckDuckGo if not set.

Contract addresses

VariableDescription
MAKO_TOKEN_ADDRESS$MAKO token contract address
MAKO_GATEWAY_ADDRESSGateway contract address (for on-chain credit deposits)

Example .env

# Server
PORT=3000
NODE_ENV=production

# Model (Ollama)
MODEL_HOST_URL=http://localhost:11434/api/chat
MODEL_NAME=mako

# RunPod (32B)
RUNPOD_ENDPOINT_ID=your_endpoint_id
RUNPOD_API_KEY=your_api_key

# Auth
FREE_MODE=true
JWT_SECRET=your-secret-here

# Credits
CREDIT_COST_INPUT=1
CREDIT_COST_OUTPUT=2

# Database
DATABASE_PATH=/data/mako.db

# Chain
CHAIN_RPC_URL=https://mainnet.base.org
CHAIN_ID=8453

# External
FIRECRAWL_API_KEY=fc-your-key-here