CFTC Commitments of Traders positioning for a market (?market=<name>)
CFTC Commitments of Traders positioning for a market (?market=<name>)
50000 (raw units)
price
4
calls / 30d
1
unique payers
2026-09-16
updated
Provider
cot.lonestaroracle.xyz · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x52Ab53912D37759B2ad364f22dD06B16714b6C06",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "50000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "3nmeVj5m9Uq2hSTfsVsn3tJMHRJQNMKR1AjzyUJbrSgw",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "50000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"market": "gold"
},
"type": "http"
},
"output": {
"example": {
"commercials": {
"long": 480000,
"net": 80000,
"net_pct_oi": 9.8,
"note": "commercials = hedgers/producers; typically the opposite side of large specs",
"short": 400000
},
"cot_signal": "Crowded Short (contrarian bullish)",
"history_weeks": 160,
"interpretation": "Large speculators are net short near a 3-year extreme (0.9th pct) — a crowded short that often precedes a squeeze/bounce.",
"large_specs": {
"long": 120000,
"net": -72447,
"net_pct_oi": -8.8,
"net_percentile_3y": 0.9,
"net_wow_change": -8100,
"short": 192447
},
"market": "EURO FX - CHICAGO MERCANTILE EXCHANGE",
"oi_wow_change": 12000,
"open_interest": 819806,
"query": "euro",
"report_date": "2026-07-28",
"small_traders": {
"net": -7553,
"net_pct_oi": -0.9
},
"source": "CFTC Commitments of Traders (publicreporting.cftc.gov)"
},
"format": "json",
"type": "object"
}
},
"schema": {
"category": "markets",
"description": "CFTC Commitments of Traders positioning made agent-callable. One x402 call takes a futures market (crude, gold, silver, copper, natgas, corn, wheat, soybeans, sp500, nasdaq, euro, yen, pound, bitcoin, 10y, bonds, sofr...) and returns a positioning signal (Crowded Long / Lean Long / Neutral / Lean Short / Crowded Short) driven by where the large speculators' net position sits versus its own 3-year history — the classic contrarian read (a crowded long often precedes mean-reversion; a crowded short often precedes a squeeze). Returns large-spec long/short/net with the 3-year percentile, the commercial (hedger) net on the other side, small-trader net, week-over-week change and open interest. The TradFi/commodity-futures analog of the FundingRates / OpenInterest positioning cluster, served pay-per-call. $0.05 in USDC on Base via x402. Source: CFTC Public Reporting, Legacy Futures-Only report (free/public). Released weekly for the prior Tuesday.",
"name": "COT",
"properties": {
"input": {
"properties": {
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"properties": {
"market": {
"description": "Futures market to read. Friendly names accepted: crude, gold, silver, copper, natgas, corn, wheat, soybeans, sugar, coffee, cattle, sp500, nasdaq, russell, vix, euro, yen, pound, cad, aud, dollar, bitcoin, ether, 10y, 5y, bonds, sofr. Aliases: commodity, symbol, m.",
"example": "gold",
"type": "string"
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"commercials": {
"long": 480000,
"net": 80000,
"net_pct_oi": 9.8,
"note": "commercials = hedgers/producers; typically the opposite side of large specs",
"short": 400000
},
"cot_signal": "Crowded Short (contrarian bullish)",
"history_weeks": 160,
"interpretation": "Large speculators are net short near a 3-year extreme (0.9th pct) — a crowded short that often precedes a squeeze/bounce.",
"large_specs": {
"long": 120000,
"net": -72447,
"net_pct_oi": -8.8,
"net_percentile_3y": 0.9,
"net_wow_change": -8100,
"short": 192447
},
"market": "EURO FX - CHICAGO MERCANTILE EXCHANGE",
"oi_wow_change": 12000,
"open_interest": 819806,
"query": "euro",
"report_date": "2026-07-28",
"small_traders": {
"net": -7553,
"net_pct_oi": -0.9
},
"source": "CFTC Commitments of Traders (publicreporting.cftc.gov)"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"tags": [
"cot",
"futures",
"positioning",
"commitments-of-traders",
"commodities"
],
"type": "object",
"version": "1.0.0"
}
},
"bc_kg64bd18": {}
}Use it
curl
curl "https://cot.lonestaroracle.xyz/cot" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://cot.lonestaroracle.xyz/cot");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://cot.lonestaroracle.xyz/cot")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/5120.json, and this resource appears in /discovery/resources and /discovery/search.