Pay in USDC on Base. Get aggregated real-time data, one call at a time.
PREMIUM USDC ON BASE BEARER AUTH NO SUBSCRIPTIONThe free TerminalFeed API is staying free. Premium is a separate, additive tier for AI agents and applications that need composed multi-source payloads in a single request: macro indicators with forex and commodities, crypto with on-chain network stats, world briefings with prediction-market context. The credits work on TensorFeed.ai too. One purchase, both data sources.
Three steps to start querying premium endpoints. No SDK required in v1; standard HTTP works fine.
curl -X POST https://terminalfeed.io/api/payment/buy-credits \
-H "Content-Type: application/json" \
-d '{"amount_usd": 1.00}'
# Response
{
"wallet": "0x...",
"memo": "tf_buy_a1b2c3...",
"quote": { "amount_usd": 1.00, "credits": 50, "chain": "base" },
"expires_at": "2026-04-27T18:30:00Z"
}
Use any wallet that supports Base and USDC. Include the memo as a transaction note where supported, or just keep the tx hash. Both work.
curl -X POST https://terminalfeed.io/api/payment/confirm \
-H "Content-Type: application/json" \
-d '{"tx_hash": "0xabc...", "nonce": "tf_buy_a1b2c3..."}'
# Response
{
"token": "tf_live_<64-char-hex>",
"credits": 50
}
curl https://terminalfeed.io/api/pro/macro \
-H "Authorization: Bearer tf_live_<64-char-hex>"
# Response includes the composed payload plus a header:
# X-Credits-Remaining: 48
One-call world briefing composed from BTC ticker, Fear & Greed index, recent earthquakes, top Hacker News story count, ISS crew, and live Polymarket prediction markets sorted by 24h volume.
Optional params: ?include=btc,fear-greed,predictions filters which sections appear. ?history=24h adds an hourly BTC price series.
Macro snapshot: FRED economic indicators (Fed funds rate, CPI, unemployment, GDP growth, 10-year treasury), forex rates from Frankfurter (EUR, JPY, GBP, CHF against USD), commodities (gold via PAXG, WTI oil, Henry Hub natural gas), and US market context from Finnhub (SPY, DIA, QQQ, VIX).
Optional params: ?history=30d adds 30 daily observations for FRED series and a daily forex time-series.
Deep crypto snapshot: top 50 coins by market cap (with 1h/24h/7d change), Binance live ticker for the top 20 USDT pairs by volume, Bitcoin network statistics from mempool.space (block height, fees, hashrate, mempool size), and Ethereum gas oracle from Etherscan.
Optional params: ?coins=btc,eth,sol filters the top-50 list. ?history=30d adds 30 daily BTC OHLCV candles.
Composite market sentiment for trading and research agents. Aggregates the Crypto Fear and Greed Index, VIX volatility, top 15 trending ticker mentions across Hacker News top 30 + Reddit r/CryptoCurrency / r/wallstreetbets / r/stocks hot posts with per-headline keyword-based sentiment scoring, and Polymarket-implied probabilities for top markets. Each ticker entry includes mention_count_24h, sources breakdown, sentiment_score (-1 to +1), sentiment_label, and 3 sample headlines with URLs. Notes field documents the scoring methodology so agents can calibrate trust.
Methodology: sentiment scores derive from regex pattern matching against curated positive/negative word lists. Crude but signal-bearing. Treat as one input to a broader analysis, not as a high-frequency trading edge. Cached at 5min.
Time-sorted event stream for monitor agents that poll periodically. Aggregates events from four upstream sources into one feed: USGS earthquakes M4.0+, Hacker News current front-page items (within the since window), recently updated Polymarket markets with $10K+ 24h volume, and space launches in a [-1h, +12h] window. Each event has type, timestamp, severity, and structured data.
Optional params: ?since=<ISO 8601 timestamp> returns only events newer than this. Defaults to 1 hour ago. Clamped to 1 hour ago if older (the rolling-cache horizon). Pass your last poll timestamp on each call.
Why this exists: a monitor agent today has to poll USGS, HN, Polymarket, and TheSpaceDevs separately and reconcile timestamps client-side. This endpoint does the merge server-side. 1-hour rolling cache means sub-second response when warm.
The "always start here" call. Composes 13 upstream sources into a curated world-state snapshot: BTC ticker, Fear and Greed, VIX, Fed funds rate, USD-base forex (EUR/JPY/GBP/CHF), HN front page top 5, significant earthquakes 24h, upcoming space launches, top 3 Polymarket markets by volume, and infrastructure status (GitHub, Cloudflare, OpenAI, Anthropic).
The killer feature: returns BOTH a structured JSON context object for parsers AND a pre-formatted system_prompt string (~350 tokens) the agent pastes verbatim into its LLM context window. Saves the agent from making 13 separate calls AND from writing the formatter.
ctx = tf.get("/api/pro/agent-context")
client.messages.create(
model="claude-opus-4-7",
system=ctx["system_prompt"], # paste-ready
messages=[{"role": "user", "content": "..."}]
)
What you can't easily build yourself: the data is free elsewhere; the curation (which 13 things matter, how to compress them into a coherent narrative) is what an agent pays for.
Pre-computed 30-day cross-asset Pearson correlation matrix on daily simple returns. Up to 10 assets across 4 classes: crypto (BTC, ETH, SOL, AVAX, LINK via Coinbase candles), commodity (gold via PAXG-USD on Coinbase, WTI oil via FRED), rates (10Y and 2Y treasury yields via FRED), and fx (trade-weighted USD index via FRED).
Returns both a pairs array (sorted by absolute r descending, with relationship and direction labels) and an NxN matrix object for direct lookup like m.matrix.BTC.ETH.
Why this exists: a portfolio agent today has to fetch 10 historical price series, normalize them to daily returns, and run a covariance computation per cycle. This endpoint precomputes it server-side. Cached 30 minutes since correlations move slowly within a day.
Near-real-time tracker for large on-chain transactions on Bitcoin and Ethereum. BTC: scans mempool.space recent mempool (last 10 unconfirmed) for outputs ≥10 BTC. ETH: scans the last 3 confirmed blocks via publicnode.com JSON-RPC (~1,900 transactions, ~36 seconds of history) for transfers ≥100 ETH.
Each whale entry includes tx hash, value in native and USD units, from/to addresses (ETH), block number, and explorer URL. aggregate field gives a quick whale_count and total_usd for cycle-by-cycle change detection.
Why this exists: trading bots watching for institutional flow signals (exchange in/outflows, treasury moves, OTC settlements) need a tight feed without burning their own RPC quota. This endpoint absorbs the mempool.space and publicnode.com upstream cost. Live test caught a 600 ETH ($1.37M) whale on first try.
ETH net inflow/outflow against a hardcoded list of 19 well-known exchange hot wallets across 7 exchanges (Binance, Coinbase, OKX, Kraken, Bybit, Crypto.com, KuCoin). Scans the last 3 confirmed blocks and tags transfers >=5 ETH as inflow (user → exchange, often selling intent), outflow (exchange → user, often HODL withdrawal), or inter_exchange.
Aggregates per-exchange and globally with USD-equivalents and a bias label (inflow_dominant / outflow_dominant / balanced). Live test detected a 46.74 ETH ($107K) Binance outflow on first try.
Why this exists: sustained large net inflow to exchanges historically precedes selling pressure; sustained outflow precedes accumulation rallies. Trading agents pay close attention to this signal. ETH only in v1; BTC requires a labeled-address dataset.
| Item | Detail |
|---|---|
| Rate | $1 USDC = 50 credits |
| Chain | Base mainnet |
| Briefing | 1 credit per call |
| Macro | 2 credits per call |
| Crypto-deep | 2 credits per call |
| Subscription | None. Pay only for what you call. |
| Expiry | None. Credits never expire. |
| Bulk discount | Not available in v1. Larger purchases coming. |
Each successful premium response returns the remaining credit count in an X-Credits-Remaining header. You can also poll GET /api/payment/balance with your bearer token any time.
The same wallet TensorFeed publishes. Cross-verified at four locations: this page, /terms, /llms.txt, and the GitHub repo README. If any disagree, do not send funds. Email [email protected].
0x549c82e6bfc54bdae9a2073744cbc2af5d1fc6d1
Pass your bearer token in the Authorization header on every premium call:
Authorization: Bearer tf_live_<64-char-hex>
Tokens are bearer credentials. Treat them like API keys. Store securely. Do not commit them. Rotate by purchasing a new pack and abandoning the old token if compromised. Replay protection is server-side; the same purchase nonce or tx hash will not credit twice.
| Reason | Meaning |
|---|---|
| missing_token | No Authorization header was sent. |
| invalid_token | Token format is wrong or token does not exist. |
| insufficient_credits | Token is valid but balance is too low for this endpoint. |
| billing_unavailable | Auth service unreachable. Retry; if persistent, contact support. |
| expired | Token revoked. Buy a new pack. |
Credits are decremented before the upstream fetch begins. If TerminalFeed's upstream sources partially fail, you still receive a 200 response with whatever data we successfully composed, and the credit still counts. The credit pays for the routing decision and the aggregation work, not a guaranteed upstream success. This matches TensorFeed's existing model. We monitor upstream reliability and will surface degraded sections in a warning field on partial responses.
24-hour window from credit purchase. Email [email protected] with your tx hash and we refund the unused balance in USDC on Base, less network fees. After 24 hours, credits are non-refundable but never expire, so they remain spendable.
Credits and bearer tokens are jointly redeemable on terminalfeed.io and tensorfeed.ai. One USDC purchase, two data sources. The TensorFeed payment Worker is the system of record; TerminalFeed authenticates each premium call against it via an internal contract. Same wallet, same chain, shared credit pool. See the TensorFeed agent payments page for the parallel surface.
Building an agent with OpenAI function-calling, Anthropic tool-use, or any LLM tool-call layer? Skip writing the tool definitions yourself. GET /api/llm-tools returns ready-to-paste tool definitions for every TerminalFeed endpoint (free + premium) in either format.
# Anthropic format
import requests, anthropic
tools = requests.get("https://terminalfeed.io/api/llm-tools?format=anthropic").json()["anthropic"]
client = anthropic.Anthropic()
resp = client.messages.create(
model="claude-opus-4-7",
tools=tools, # ready to use, no manual schema writing
messages=[{"role": "user", "content": "What is the current Fed funds rate?"}],
max_tokens=1024,
)
Optional ?tier=free or ?tier=premium filters. ?format=openai, ?format=anthropic, ?format=raw, or ?format=both (default). The endpoint costs no credits; the listed tools have their own pricing.
No PyPI release in v1. Bearer tokens minted by the TensorFeed payment Worker work on TerminalFeed too (shared credit pool), so any agent that has pip install tensorfeed already has a token format that authenticates here. Pass it in requests.get(..., headers={"Authorization": f"Bearer {token}"}) and you are done.
For agents that prefer typed methods, a single-file Python reference client lives in the public repo at sdk-python/terminalfeed_client.py. Copy it into your codebase. It depends only on requests.
from terminalfeed_client import TerminalFeed
tf = TerminalFeed()
quote = tf.buy_credits(amount_usd=1.00) # $1 = 50 credits
# Send USDC on Base to quote["wallet"] with memo quote["memo"]
tf.confirm_payment(tx_hash="0x...", nonce=quote["memo"])
print(tf.macro(history="30d")) # 2 credits
print(tf.crypto_deep(coins=["btc", "eth"])) # 2 credits
print(tf.briefing(include=["btc", "predictions"])) # 1 credit
print("balance:", tf.balance())
When the integration sees real traffic, this file is the seed for either an extension to the tensorfeed PyPI package or a standalone terminalfeed package. TypeScript and Rust wrappers welcome; share yours and we will link from this section.
The agent buys credits with USDC on Base mainnet, gets a bearer token, and signs every premium request with Authorization: Bearer tf_live_<64-char-hex>. No KYC, no credit-card form, no signup flow. An autonomous agent that holds a wallet can complete the entire payment loop on its own: POST /api/payment/buy-credits, send the USDC, POST /api/payment/confirm, then call any /api/pro/* endpoint.
Yes. Credits and tokens are cross-redeemable across both sites. The TensorFeed payment Worker is the system of record for the credit balance, and both TerminalFeed and TensorFeed authenticate against it. One $1 USDC purchase, two data sources: real-time markets and infrastructure on TerminalFeed plus AI news and intelligence on TensorFeed.
Per request, premium endpoints are 2 cents to 4 cents (1 to 2 credits at $1 = 50 credits). The closest paid alternatives (Messari, CoinAPI, Alpha Vantage paid tiers) start at $50 to $500 per month with KYC and monthly commits. The free DIY alternative is to manage 5 to 15 separate keys, each with its own auth flow, rate-limit pool, and key rotation burden.
No. Premium responses are licensed for inference and reasoning use only. They are not licensed for use as training data, fine-tuning input, model distillation, or redistribution as a dataset. Free tier endpoints retain their existing permissive license. Full clauses live in Terms section 17.
Credits are decremented before the upstream fetch begins (the atomic-charge property). If one or more upstream sources fail, the response still returns a 200 with whatever data we successfully composed, and the credit still counts. The credit pays for the routing decision and the aggregation work, not a guaranteed upstream success. We cache aggressively (60 seconds for briefing and crypto-deep, 5 minutes for macro), so successive calls within the cache window cost no additional fetches.
Bearer tokens are first-class credentials. If yours leaks, treat it as lost: buy a new pack to mint a new token, then stop using the old one. The compromised token will continue to spend its remaining balance until depleted. Email [email protected] with the affected token if you suspect theft and want it deactivated faster.
Yes within 24 hours of purchase. Email [email protected] with the on-chain transaction hash and we refund the unused balance in USDC on Base, less network fees. After 24 hours credits are non-refundable, but they never expire and remain spendable indefinitely.
The full free TerminalFeed API requires no auth and is the right place to verify your HTTP plumbing before spending USDC. The free /api/briefing endpoint is structurally similar (composed payload) to the premium /api/pro/briefing, so you can dry-run your parsing logic against it. Premium adds Polymarket prediction markets, the optional include filter, and the optional 24-hour history series.
The address is published at four locations that we cross-verify on every release: this page, /terms section 17.6, /llms.txt, and the public GitHub repository README. If any of the four show a different address, do not send funds and email [email protected] immediately. The intentional public redundancy is the trust mechanism.
General questions: [email protected]. Billing, refunds, or token issues: [email protected]. Status of upstream sources is on the free /api/service-status endpoint.