Build on top of InferLane's compute price indices and order book. Access real-time pricing data, place orders, trade futures, and integrate compute cost hedging into your platform.
Real-time IL-FRONTIER, IL-STANDARD, IL-ECONOMY, IL-OPENWEIGHT, IL-DECODE, IL-MEMORY indices.
LIMIT and MARKET orders with price-time priority matching across quality tiers.
Forwards, calls, puts on compute pricing. Hedge your inference costs.
Base URL: https://inferlane.dev/api — All endpoints require HTTPS.
All trading endpoints require a ilt_ prefixed API key. Create one from the Trading dashboard under the API Keys tab.
curl -H "Authorization: Bearer ilt_your_key_here" \
https://inferlane.dev/api/trading/indicesreadView indices, order book, contracts
tradePlace and cancel orders, create futures
settleTrigger settlement operations
Compute price indices represent VWAP (Volume-Weighted Average Price) from order fills within each quality tier. Updated hourly via cron.
/api/trading/indicesReturns current values for all 6 compute price indices.
Response
{
"indices": [
{ "name": "IL-FRONTIER", "value": 0.95, "updatedAt": "..." },
{ "name": "IL-STANDARD", "value": 0.75, "updatedAt": "..." },
{ "name": "IL-ECONOMY", "value": 0.50, "updatedAt": "..." },
{ "name": "IL-OPENWEIGHT", "value": 0.35, "updatedAt": "..." },
{ "name": "IL-DECODE", "value": 0.15, "updatedAt": "..." },
{ "name": "IL-MEMORY", "value": 0.08, "updatedAt": "..." }
]
}/api/trading/indices?history=IL-FRONTIER&days=30Historical index snapshots for charting and analysis.
Parameters
historystringrequiredIndex name (e.g. IL-FRONTIER)daysnumberNumber of days (default: 30, max: 365)Place LIMIT or MARKET orders on the compute order book. Orders are matched with price-time priority within each quality tier. Trading fee: 2.5% on fills (split between buyer and seller).
/api/trading/ordersView the order book and your open orders.
Parameters
tierstringFilter by quality tier (FRONTIER, STANDARD, ECONOMY, OPEN_WEIGHT)minebooleanShow only your orders/api/trading/ordersPlace a new order. BUY orders require sufficient credit balance.
Parameters
sidestringrequiredBUY or SELLorderTypestringrequiredLIMIT or MARKETqualityTierstringrequiredFRONTIER, STANDARD, ECONOMY, or OPEN_WEIGHTquantitynumberrequiredNumber of compute units (1-100,000)pricePerUnitnumberPrice per unit ($0.05-$2.00). Required for LIMIT orders.Response
{
"orderId": "clo1a2b3c...",
"side": "BUY",
"orderType": "LIMIT",
"qualityTier": "FRONTIER",
"quantity": 500,
"pricePerUnit": 0.90,
"status": "OPEN",
"fills": []
}/api/trading/orders?orderId=xxxCancel an open or partially filled order. Returns unfilled quantity to your balance.
Parameters
orderIdstringrequiredID of the order to cancelCreate forward contracts and options on compute pricing. Contracts settle against IL index values at delivery date. 10% margin required.
/api/trading/futuresList your open and settled contracts.
/api/trading/futuresCreate a new forward contract or option.
Parameters
contractTypestringrequiredFORWARD, OPTION_CALL, OPTION_PUT, DECODE_FORWARD, MEMORY_FORWARD, DECODE_OPTION_CALL, MEMORY_OPTION_PUTqualityTierstringRequired for standard contracts. Not needed for memory/decode types.quantitynumberrequiredContract size (100-1,000,000)strikePricenumberrequiredStrike price per unitdeliveryDatestringrequiredISO date string (1-180 days out)Response
{
"contractId": "clo1a2b3c...",
"marginRequired": 50.00,
"message": "Contract created. Margin reserved."
}Manage trading API keys programmatically. Keys use the ilt_ prefix and support granular permissions. Maximum 10 keys per account.
/api/trading/keysList your active trading API keys.
/api/trading/keysCreate a new trading API key.
Parameters
namestringrequiredDescriptive name (e.g. "prod-trading-bot")permissionsstring[]requiredArray of: read, trade, settleResponse
{
"keyId": "clo1a2b3c...",
"key": "ilt_abc123...",
"name": "prod-trading-bot",
"permissions": ["read", "trade"],
"message": "Store this key securely. It cannot be retrieved again."
}Rate limits are per API key and enforced per minute. Exceeding limits returns HTTP 429.
| Endpoint | Limit | Window |
|---|---|---|
| GET /trading/indices | 60 req | 1 min |
| GET /trading/orders | 60 req | 1 min |
| POST /trading/orders | 20 req | 1 min |
| DELETE /trading/orders | 20 req | 1 min |
| GET /trading/futures | 30 req | 1 min |
| POST /trading/futures | 10 req | 1 min |
| GET /trading/keys | 30 req | 1 min |
| POST /trading/keys | 5 req | 1 min |
# Get current indices
curl -s -H "Authorization: Bearer ilt_your_key" \
https://inferlane.dev/api/trading/indices | jq
# Place a limit buy order
curl -X POST -H "Authorization: Bearer ilt_your_key" \
-H "Content-Type: application/json" \
-d '{"side":"BUY","orderType":"LIMIT","qualityTier":"FRONTIER","quantity":100,"pricePerUnit":0.90}' \
https://inferlane.dev/api/trading/orders
# Cancel an order
curl -X DELETE -H "Authorization: Bearer ilt_your_key" \
"https://inferlane.dev/api/trading/orders?orderId=clo1a2b3c"import requests
API_KEY = "ilt_your_key"
BASE = "https://inferlane.dev/api"
headers = {"Authorization": f"Bearer {API_KEY}"}
# Fetch indices
indices = requests.get(f"{BASE}/trading/indices", headers=headers).json()
for idx in indices["indices"]:
print(f"{idx['name']}: ${idx['value']:.4f}")
# Place a limit order
order = requests.post(f"{BASE}/trading/orders", headers=headers, json={
"side": "BUY",
"orderType": "LIMIT",
"qualityTier": "STANDARD",
"quantity": 250,
"pricePerUnit": 0.70,
}).json()
print(f"Order {order['orderId']} placed: {order['status']}")const API_KEY = "ilt_your_key";
const BASE = "https://inferlane.dev/api";
const headers = { Authorization: `Bearer ${API_KEY}` };
// Fetch indices
const res = await fetch(`${BASE}/trading/indices`, { headers });
const { indices } = await res.json();
indices.forEach((idx: { name: string; value: number }) =>
console.log(`${idx.name}: $${idx.value.toFixed(4)}`)
);
// Create a forward contract
const future = await fetch(`${BASE}/trading/futures`, {
method: "POST",
headers: { ...headers, "Content-Type": "application/json" },
body: JSON.stringify({
contractType: "FORWARD",
qualityTier: "FRONTIER",
quantity: 1000,
strikePrice: 0.92,
deliveryDate: "2026-06-01",
}),
}).then((r) => r.json());
console.log(`Contract ${future.contractId}, margin: $${future.marginRequired}`);Webhook notifications for real-time events: order fills, settlement completions, index threshold alerts, and contract expiry warnings. Register a webhook URL from the Trading dashboard to receive POST callbacks with signed payloads.
Planned Events
order.filledorder.cancelledsettlement.completedindex.alertfuture.settledfuture.expiringQuestions? Reach us at dev@inferlane.dev