Live on Base and Solana mainnet
Pay-per-call functions for AI agents. No accounts, no API keys.
Economic data, research intelligence and coordination tools that an agent can call and pay for in a single request. Each one is a function: an input, an output and a price.
Try a function
Pick a signal. Fetch its free sample, then see what an agent gets back when it asks for the paid version.
signal("YIELD_CURVE_10Y2Y") returns a daily time series
The 10-year Treasury yield minus the 2-year yield. Positive is a normal curve. Negative, called inverted, has preceded every U.S. recession since 1955.
Response shape. Fetch the sample to see real values.
{
"meta": { "signal_key": "...", "label": "...", "date_from": "...", "date_to": "..." },
"count": 5,
"data": [
{ "date": "YYYY-MM-DD", "value": number },
...
]
}
How it works
Software agents cannot fill in sign-up forms or hold invoices. A price on every call lets an agent buy exactly what it needs, when it needs it.
-
Find a function
Browse or search the catalog for free. Every listing shows its price, output schema and a sample before anything is paid.
-
Ask for it
The server replies with the price and where to pay, using the standard HTTP 402 Payment Required response. There is no account and no key.
-
Pay and receive
The agent pays in USDC on Base or Solana and repeats the request. The result comes back as JSON, or as compact TOON when context is tight.
Making many calls? A session token costs $0.25 and covers 50 calls over 24 hours.
Data functions
Federal Reserve economic data and computed indicators, from $0.005 per call.
series(id, window) returns a time series
Time series from FRED, the Federal Reserve Bank of St. Louis database, with derived values already computed. Ask for any date window and any subset of metrics.
On top of the raw series sit cross-series signals such as the yield curve, credit stress, real interest rates and the job openings to unemployed ratio. They are computed daily, so an agent does not spend its own context window doing the arithmetic.
44 listings in 12 categories, from $0.005 per call. Browsing is free.
- Credit & SpreadsHigh-yield, investment-grade, TED spread2 listings
- Cross-Series SignalsDerived multi-series indicators and spreads8 listings
- Financial ConditionsStress indices, VIX, composite indicators3 listings
- GDP & GrowthGross domestic product, real GDP, nowcasts3 listings
- HousingStarts, permits, median prices3 listings
- Industrial & BusinessIndustrial production, capacity, durable goods3 listings
- InflationPrice indices, breakeven rates, PCE, CPI5 listings
- Interest RatesTreasury yields, mortgage rates, T-bills5 listings
- Labor MarketEmployment, unemployment, job openings, claims5 listings
- Monetary PolicyCentral bank rates, targets, and reserve data3 listings
- Money SupplyM2, velocity, monetary aggregates2 listings
- Sentiment & ConfidenceConsumer sentiment, business surveys2 listings
Intelligence: Deep Tech Scout
New research, turned into scored product concepts every day.
scout.top() returns 20 product concepts
Each day a pipeline reads new papers from arXiv, the Hugging Face blog and lab blogs from the past three days, and synthesizes up to 1,000 product concepts. Each concept is scored so an agent can rank and filter without reading a paper.
Take the top 20 for $0.01, or the full set for $0.05. A free freshness check tells an agent whether today's run is newer than what it already holds, so it never pays twice for the same data.
- The idea
- Product name, target market, novel angle, MVP path and revenue model.
- The scores
- Opportunity, marketability, demand, novelty, build complexity, time to revenue, patentability and whitespace.
- The leads
- Buyer persona, vertical, sourcing channels, urgency triggers and outreach angles.
- The evidence
- Source papers with links.
Coordination: Slots
A shared place for a group of agents to keep state. From $0.05.
slot.buy(10) returns a token and 10 shared slots
One buyer, either a person or an orchestrating agent, purchases a bundle and hands the token and slot IDs to the group. Every agent can then read and write JSON for 24 hours with no further payment. Slots expire on their own, so there is nothing to set up or clean up.
- Handoff
- One agent writes its finished output. The next reads it and carries on without rerunning the whole context.
- Deduplication
- An agent claims a work item by writing its ID. Others check first, so nothing is processed twice.
- Shared scratchpad
- Several agents add partial results. A coordinator reads them all and combines them.
- Phase signals
- A counter or flag tells the group when one stage is done and the next can begin.
The full slot catalog is at /slots.json.
Utilities
Two small tools for preparing data before or after a catalog call.
json.validate(body)- Free. Checks that a JSON body is valid and reports the line and column of any error. Up to 1 MB, 60 requests a minute per IP.
toon.convert(json)- $0.005. Converts JSON to compact TOON, which uses roughly 60 to 70 percent fewer tokens on time-series data. Up to 512 KB, and oversized requests are rejected before any payment is taken.
What you can call
Every function, what it returns and what it costs. The names are friendly labels. The Endpoint column is the real route.
| Function | Returns | Endpoint | Price |
|---|---|---|---|
| Data | |||
series(id, window) | A time series with pre-computed derivatives, any date window or metric subset | GET /economic-data/{category}/{slug} | $0.005 |
signal(name, window) | A cross-series indicator such as the yield curve or credit stress | GET /economic-data/cross-signal/{slug} | $0.008 |
macro.snapshot() | The current state of every macro signal: latest value, 5-year z-score, 90-day trend and a plain-English reading | GET /economic-data/cross-signal/macro-snapshot | $0.02 |
| Intelligence | |||
scout.top() | The top 20 product concepts by opportunity score | GET /tech-scout/syntheses/top | $0.01 |
scout.full() | All concepts from today's run, up to 1,000. About 3.5 MB, so allow a read timeout of 30 seconds or more | GET /tech-scout/syntheses/full | $0.05 |
| Coordination | |||
slot.buy(1) | A token and 1 shared slot: 200 reads and writes over 24 hours | POST /slot/buy/1 | $0.05 |
slot.buy(10) | A token and 10 shared slots sharing 2,000 reads and writes over 24 hours | POST /slot/buy/10 | $0.40 |
| Tools and sessions | |||
toon.convert(json) | The same data in compact TOON format | POST /util/convert/json-to-toon | $0.005 |
session.token() | A bearer token for 50 calls over 24 hours, any listing. Skips per-call payment | POST /token/purchase | $0.25 |
| Free | |||
catalog.search(q) | Matching listings with descriptions and prices | GET /discover/search | Free |
catalog.inspect(id) | A listing's output schema and sample data | GET /discover/{listing_id} | Free |
scout.freshness() | The date and size of the latest Deep Tech Scout run | GET /tech-scout/syntheses/meta | Free |
json.validate(body) | Whether a JSON body is valid, with the error position if not | POST /util/validate/json | Free |
All payments settle in USDC on Base or Solana. There are no minimums and no accounts.
For agents
Everything an agent needs to find, price and call a function without reading this page.
Entry points
- /catalog-index.jsonStart here. Categories and counts at minimal token cost.
- /.well-known/stationfx.jsonThe full platform manifest and agent workflow.
- /.well-known/x402Payment networks and assets.
- /llms.txtA plain-text summary for language models.
- /discover/signalsAll signals with sample data.
- /slots.jsonThe slot catalog and workflow.
Payment networks
- Base mainneteip155:8453, USDC (ERC-20)
- Solana mainnetUSDC (SPL)
Platform status
Checking
The whole flow
# free: orient, search, inspect GET /catalog-index.json GET /discover/search?q=inflation&category=inflation GET /discover/{listing_id} # ask for the function. The reply is 402 with the price GET /economic-data/{category}/{slug}?fmt=toon # PAYMENT-REQUIRED: base64 challenge (amount, network, payTo) # pay, then repeat the request with proof GET /economic-data/{category}/{slug}?fmt=toon PAYMENT-SIGNATURE: <signed x402 v2 payload> # 200: the function output
Questions
What is a function here?
Every product is a function: it takes an input, returns an output and has a price. A data function takes a series and a date window and returns a time series. A slot function takes a payment and returns a shared place for agents to keep state.
Do I need an account or an API key?
No. An agent asks for a function, the server replies with the price, the agent pays in USDC and asks again. There is nothing to sign up for.
What is x402?
x402 is an open payment protocol built on the HTTP 402 Payment Required status code. The server answers a request with a price and payment details. The client pays and repeats the request with proof of payment.
How much does a call cost?
Data calls start at $0.005. Browsing the catalog and checking samples is free. For many calls in a session, a $0.25 bearer token covers 50 calls over 24 hours. There are no minimums.
Where does the data come from?
Economic data comes from FRED, the Federal Reserve Bank of St. Louis database, with derived values and cross-series signals computed on top. Deep Tech Scout reads new papers from arXiv, the Hugging Face blog and lab blogs.
Is the sample on the home page live data?
The sample is the five most recent observations stored in the catalog and refreshed with each daily pipeline run. A paid call returns the date window you ask for.
What is TOON?
TOON is a compact text format for time series. It uses roughly 60 to 70 percent fewer tokens than the same data in JSON, which matters for agents with tight context budgets. Every data function can return JSON or TOON.
Is this investment advice?
No. Station f(x) provides data and computed indicators for information only.