how to use inference.wtf
inference.wtf is an openai-compatible llm gateway you fund with crypto. connect an evm wallet, create an api key, and call models with standard openai sdks — no email, no card, no kyc.
overview
the gateway exposes a familiar /v1/chat/completions endpoint. your wallet is your account. billing draws from two balances:
- allowance — recurring daily credit from holding $IWTF (drawn first)
- purchased — USDG you top up via x402 (never expires)
quick start
- connect your wallet on the dashboard and sign a siwe message (no transaction, no gas).
- go to keys and create an api key — copy it immediately, it is shown once.
- point your openai client at
https://api.inference.wtf/v1with yoursk-iwtf-…key. - top up USDG from the dashboard when purchased balance runs low, or hold $IWTF for daily allowance.
authentication
dashboard access uses wallet sign-in (siwe / eip-191). you sign a one-time message to prove you control the address. the server issues a session cookie — no private keys leave your wallet.
supported wallets include metamask, coinbase wallet, rainbow, and others via privy. only evm wallets are supported.
api usage
use any openai-compatible client. set the base url and pass your inference.wtf api key as the bearer token.
curl https://api.inference.wtf/v1/chat/completions \
-H "Authorization: Bearer sk-iwtf-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"messages": [{ "role": "user", "content": "hello" }]
}'python (openai sdk)
from openai import OpenAI
client = OpenAI(
api_key="sk-iwtf-YOUR_KEY",
base_url="https://api.inference.wtf/v1",
)
response = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "hello"}],
)
print(response.choices[0].message.content)node (openai sdk)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.IWTF_API_KEY,
baseURL: "https://api.inference.wtf/v1",
});
const completion = await client.chat.completions.create({
model: "gpt-5.5",
messages: [{ role: "user", content: "hello" }],
});browse available models and per-token pricing in the models tab after signing in.
balances
each request debits your balance based on input + output tokens. allowance is consumed before purchased balance.
- $IWTF allowance — holding $IWTF grants a daily credit window. allowance resets on a fixed schedule; see the holding page for your rate and cap.
- USDG top-up — pay with USDG over x402 in configurable chunks. credits are added to purchased balance and do not expire.
if both balances are empty, api calls return 402 payment required with top-up instructions.