Get Started with x402
This guide explains how to enable and use x402 pay-for-inference with the Ekai Gateway.
Overview
x402 enables onchain, per‑request payments when a target model does not have an API key configured. The gateway automatically handles 402 responses, performs the onchain payment in stablecoins, retries the request with proof, and streams the provider’s response back to your client.
Prerequisites
Ekai Gateway.
An EVM wallet private key funded with USDC on Base.
Configuration
Set the following environment variables before starting the gateway:
# Required for x402 payments
PRIVATE_KEY=0x... # EVM private key with USDC balance on BaseThe gateway automatically uses Ekai's hosted x402 inference URL (https://x402.ekailabs.xyz) by default.
Gateway modes and endpoints are configured via config.x402 (see logs at startup):
config.x402.enabled: enable or disable x402.config.x402.baseUrl,config.x402.chatCompletionsUrl,config.x402.messagesUrl.Startup logs indicate
x402-only,hybrid, orBYOKmode based on your key/config setup.
How It Works
Initial request: the gateway sends a normal request to an x402‑enabled endpoint.
402 response: if payment is required, the server returns HTTP 402 Payment Required with payment parameters.
Automatic payment: the
x402-fetchwrapper intercepts the 402, creates the on‑chain payment, and prepares proof.Request retry: the original request is retried automatically with the payment proof header.
Service access: the service validates proof and returns the inference response, which the gateway streams to your client.
Client Usage
Use your existing OpenAI or Anthropic‑compatible clients (Claude Code, Codex) pointed at the gateway. When a chosen model has no API key configured, the gateway routes via x402 automatically; otherwise it uses your configured provider keys directly.
Supported via Ekai x402 (Rasta)
The Ekai x402 endpoint (Rasta) currently supports these providers/models:
OpenRouter
✅
Any OpenRouter model ID (e.g., openai/gpt-5, moonshotai/kimi-k2-thinking)
Anthropic
✅
Models containing claude (e.g., claude-haiku-4-5-20251001)
xAI
✅
Models containing grok (e.g., grok-code-fast-1)
Notes:
Model IDs must follow the provider’s naming (e.g.,
<provider>/<model>for OpenRouter,claude-*for Anthropic).
Last updated