inferva

Overview

Introduction

One OpenAI-compatible endpoint for every provider.

The agent API is served from https://dapp.inferva.xyz. It follows the OpenAI-style chat completions format, so most clients that let you set a base URL and an API key can call it. Requests and responses are JSON.

EndpointPurpose
POST /v1/chat/completionsSend a chat request. Routed, metered, charged and settled. Reference
GET /v1/modelsList auto and every model an active provider serves. Reference

Authentication

Create an agent key in the app under Endpoint & keys and send it as a bearer token. Keys start with inf_sk_. Each request is paid from the USDG balance of the account that owns the key, and that account's stake sets the tier.

curl https://dapp.inferva.xyz/v1/chat/completions \
  -H "Authorization: Bearer $INFERVA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"messages": [{"role": "user", "content": "Hello"}]}'
Keep keys server-side. Anyone with a key can spend the owner's balance. Revoke a leaked key from Endpoint & keys.

Using an OpenAI-style client

Point the client's base URL at the INFERVA /v1 path and pass your agent key as the API key.

const baseURL = "https://dapp.inferva.xyz/v1";
const apiKey = process.env.INFERVA_KEY; // inf_sk_...

Sandbox limits

  • Output is capped at 1,024 tokens per request.
  • Only the last 20 messages are used, and each message is cut to 8,000 characters.
  • Every role other than assistant, including system, is sent as user.
  • Streaming is not supported.
The app's own /api/* routes (stake, sponsor, keys, governance) use a sandbox account header, not authentication. They are internal to the app and not a stable public API.
Was this page helpful?