Crypto Price Feed API, FX Rates API & Bitcoin DLC Oracle
HTTP-native financial data and DLC oracle for AI agents, autonomous systems, and developers. Cryptographically signed. Pay per query.
What is Mycelia Signal?
Mycelia Signal is a sovereign cryptographic oracle — a real-time financial data API that delivers cryptographically signed price data over standard HTTP. Every response includes a canonical data string, the data sources used, the aggregation method, a Unix timestamp, and a cryptographic signature you can independently verify.
Unlike traditional oracle networks that require EVM smart contracts and proprietary tokens, Mycelia Signal works with any HTTP client — including AI agents, Python scripts, Node.js applications, and agentic frameworks like ElizaOS and LangChain.
Every paid endpoint has a free /preview variant that returns unsigned sample data with no payment required. Try any endpoint before you pay.
Crypto Price Feed API
14 cryptocurrency pairs including Bitcoin, Ethereum, Solana, XRP, ADA, and DOGE. Spot prices aggregated from up to 9 exchanges using median aggregation to eliminate outliers. VWAP variants available for BTC and ETH.
Multi-exchange aggregation
BTC/USD aggregated from 9 exchanges: Binance, Coinbase, Kraken, Gemini, Bitstamp, Bitfinex, OKX, Gate.io, Binance US.
Cryptographic signatures
Every response is signed with secp256k1 ECDSA (L402) or Ed25519 (x402). Verify data provenance independently.
VWAP variants
5-minute volume-weighted average price available for BTC/USD, BTC/EUR, BTC/JPY, and ETH/USD pairs.
Dual geographic nodes
US (us-central1) and Asia (asia-east1) nodes attest independently. Both sign with separate keypairs.
Available crypto pairs: BTC/USD, BTC/EUR, BTC/JPY, ETH/USD, ETH/EUR, ETH/JPY, SOL/USD, SOL/EUR, SOL/JPY, XRP/USD, ADA/USD, DOGE/USD — plus VWAP variants for BTC and ETH.
No payment needed: curl https://api.myceliasignal.com/oracle/price/btc/usd/preview
FX Rates API
20 foreign exchange pairs covering USD, EUR, GBP, JPY, CHF, CAD, and CNY. Sourced from central banks (ECB via Frankfurter, Bank of Canada, RBA, Norges Bank) and major exchanges. Four-tier source hierarchy for reliability.
| Pairs covered | Base sources | Price per query |
|---|---|---|
| EUR/USD, EUR/GBP, EUR/JPY, EUR/CHF, EUR/CNY, EUR/CAD | ECB, exchanges | 10 sats / $0.01 |
| GBP/USD, GBP/JPY, GBP/CHF, GBP/CNY, GBP/CAD | ECB, exchanges | 10 sats / $0.01 |
| USD/JPY, USD/CHF, USD/CNY, USD/CAD | ECB, Bank of Canada | 10 sats / $0.01 |
| CHF/JPY, CHF/CAD, CNY/JPY, CNY/CAD, CAD/JPY | Cross-rate computed | 10 sats / $0.01 |
Macro & Economic Data API
14 macroeconomic indicators from primary government sources — US Bureau of Labor Statistics, Federal Reserve (FRED), Bureau of Economic Analysis, and Eurostat. Signed canonical strings include the series ID, vintage date, and source agency.
US indicators: CPI (headline & core), Unemployment Rate, Nonfarm Payrolls, Fed Funds Rate, Real GDP, PCE Price Index, 10Y–2Y Yield Curve Spread.
EU indicators: HICP (headline, core, services), Unemployment Rate, Real GDP, Total Employment.
Bitcoin DLC Oracle
Mycelia Signal is the only production HTTP DLC oracle — delivering cryptographically attested price data for Discreet Log Contracts over standard HTTP, payable natively in Lightning sats or USDC. No other DLC oracle offers HTTP-native access with per-query micropayment.
Discreet Log Contracts (DLCs) are Bitcoin-native smart contracts that settle based on real-world price events. They require a trusted oracle to publish a signed attestation at a predetermined time. Mycelia Signal's DLC oracle provides those attestations — signed, verifiable, and accessible over HTTP to any client.
Threshold contracts
Register a contract at a strike price and direction (above/below). Oracle monitors and attests when the price crosses the threshold. 17 pairs supported.
Numeric contracts
Precise price attestation at daily, weekly, and monthly expiry schedules. BTC, ETH, and SOL denominated in USD and EUR.
Dual-node attestation
US and Asia nodes attest independently with separate BIP-340 Schnorr keypairs. Both public keys published for independent verification.
Free testnet preview
Test your full DLC integration stack at no cost with the preview endpoint. Verify the complete flow before paying for production contracts.
| Endpoint | Description | L402 | x402 |
|---|---|---|---|
POST /dlc/oracle/threshold/preview | Free testnet threshold contract — full attestation flow, no payment | Free | Free |
POST /dlc/oracle/threshold | Register production threshold contract | 10,000 sats | $7.00 |
GET /dlc/oracle/threshold | List all active threshold contracts | Free | Free |
GET /dlc/oracle/attestations/{id} | Retrieve attestation for a specific contract | Free | Free |
GET /dlc/oracle/pubkey | Oracle Schnorr public keys (both nodes) | Free | Free |
GET /dlc/oracle/announcements | List all announcements (numeric + threshold) | Free | Free |
Test your full integration stack at no cost: POST https://api.myceliasignal.com/dlc/oracle/threshold/preview — no payment required, real Schnorr attestations.
Full integration guide, request/response schema, and verification examples at myceliasignal.com/docs/dlc.
How it works
Mycelia Signal is a standard REST API over HTTPS. Every paid request follows the same pattern:
# 1. Request without payment — receive 402 with payment options GET /oracle/price/btc/usd HTTP/1.1 Host: api.myceliasignal.com # 402 response contains Lightning invoice (L402) or USDC details (x402) # 2. Pay via Lightning (L402) GET /oracle/price/btc/usd HTTP/1.1 Authorization: L402 <macaroon>:<preimage> # 3. Receive signed canonical response { "canonical": "v1|PRICE|BTCUSD|84231.50|USD|2|binance,coinbase,kraken|median|1741521600|562204", "signature": "...", "pubkey": "03c1955b..." }
The canonical string format encodes the data type, pair, value, currency, decimal places, sources, aggregation method, Unix timestamp, and a nonce. The SHA-256 hash of this string is signed. Verification is straightforward with any secp256k1 or Ed25519 library.
Payment — Lightning or USDC, per query
Mycelia Signal supports two machine-native payment standards with no account or subscription required:
L402 — Lightning Network
Pay in Bitcoin sats via Lightning. 10 sats per spot query (~$0.01). Standard HTTP 402 + macaroon authentication. Compatible with any Lightning wallet or node.
x402 — USDC on Base
Pay in USDC on Base L2. $0.01 per spot query. EIP-3009 transferWithAuthorization. Coinbase CDP facilitator. Compatible with any Base wallet.
Both payment rails are verified end-to-end. The x402 discovery file at /.well-known/x402 lists all 56 endpoints with pricing for automated agent discovery.
Built for AI agents
Mycelia Signal is designed for autonomous systems that need financial data without human intervention. The API supports the full agent discovery stack:
| Discovery mechanism | URL | Purpose |
|---|---|---|
llms.txt | /llms.txt | LLM-readable API summary for agent bootstrapping |
| OpenAPI spec | /openapi.json | Machine-readable API spec v1.3.2 |
| x402 well-known | /.well-known/x402 | All 56 endpoints with payment terms |
| agent.json | /.well-known/agent.json | A2A + AIR agent capabilities manifest |
| ElizaOS plugin | npm: @jonathanbulkeley/plugin-mycelia-signal | Drop-in plugin for ElizaOS agents |
| LangChain tool | PyPI: langchain-mycelia-signal | LangChain tool for Python agents |
| MCP server | GitHub: Mycelia-Signal-Sovereign-Oracle | 113 tools for Claude, GPT, Cursor |
Code example — fetch BTC/USD with x402
import requests # Step 1 — probe for payment details r = requests.get("https://api.myceliasignal.com/oracle/price/btc/usd") # r.status_code == 402 payment = r.json()["x402"] # Step 2 — construct EIP-3009 payment (see x402 docs) x_payment = build_x402_payment(payment) # Step 3 — request with payment header r = requests.get( "https://api.myceliasignal.com/oracle/price/btc/usd", headers={"X-Payment": x_payment} ) data = r.json() canonical = data["canonical"] price = canonical.split("|")[3] # "84231.50" print(f"BTC/USD: {price}")
See the Quick Start guide for complete working examples in Python, Node.js, and curl for both L402 and x402 payment rails.
Ready to integrate?
Try any endpoint free with the preview API. No account, no key, no signup.