Endpoints
Complete API endpoint reference
Endpoints
Base URL: https://api.moonmaker.cc
GET /signal/{coin}
Real-time trading signal. $0.05 USDC per call.
Parameters
| Parameter | Type | Required | Values |
|---|---|---|---|
coin | path | Yes | BTC, ETH, SOL |
Request
curl https://api.moonmaker.cc/signal/BTCResponse (200 — after x402 payment)
This is a real response from the API:
{
"coin": "BTC",
"price": 70630.09,
"signal": {
"direction": "STRONG_LONG",
"confidence": 0.31,
"strength": 3
},
"votes": {
"long": 9,
"short": 5,
"neutral": 6,
"total": 21
},
"categories": {
"sentiment": "SHORT",
"technical": "SHORT",
"trend": "LONG",
"macro": "LONG"
},
"timestamp": "2026-02-08T17:30:15Z"
}Signal Direction Values
| Direction | Meaning |
|---|---|
STRONG_LONG | Very bullish (high confidence) |
LONG | Bullish |
LEAN_LONG | Slightly bullish |
NEUTRAL | No clear direction |
LEAN_SHORT | Slightly bearish |
SHORT | Bearish |
STRONG_SHORT | Very bearish (high confidence) |
GET /market/overview
Full market overview. $0.10 USDC per call.
Request
curl https://api.moonmaker.cc/market/overviewResponse (200)
Real response example:
{
"timestamp": "2026-02-08T17:32:42Z",
"signals": {
"BTC": { "direction": "STRONG_LONG", "confidence": 0.31, "price": 70630.09 },
"ETH": { "direction": "LONG", "confidence": 0.25, "price": 2097.50 },
"SOL": { "direction": "LEAN_LONG", "confidence": 0.18, "price": 87.20 }
},
"etf": {
"total_m": -979.0,
"institutional_m": -815.0
},
"stablecoin": {
"total_supply_b": 307.4,
"change_7d_b": 2.55,
"signal": "STRONG_INFLOW"
},
"fear_greed": {
"value": 7,
"label": "Extreme Fear"
}
}GET /market/etf
ETF institutional flow breakdown. $0.02 USDC per call.
Request
curl https://api.moonmaker.cc/market/etfResponse (200)
Real response example:
{
"date": "2026-02-04",
"total_flow_m": -979.0,
"institutional_flow_m": -815.0,
"top_outflow": "IBIT",
"top_outflow_m": -548.7,
"by_etf": {
"IBIT": -548.7,
"GBTC": -117.2,
"FBTC": -195.9,
"ARKB": -54.8,
"BITB": -15.6,
"EZBC": -6.4,
"BTCW": 0.0,
"BTCO": 0.0,
"BRRR": 0.0,
"HODL": -5.2,
"BTC": -35.2
},
"flow_7d_m": -2183.7
}GET /risk/{coin}
Risk assessment with stop-loss, take-profit levels, risk:reward ratio, position sizing, support/resistance, and funding costs. $0.10 USDC per call.
Parameters
| Parameter | Type | Required | Values |
|---|---|---|---|
coin | path | Yes | BTC, ETH, SOL |
Request
curl https://api.moonmaker.cc/risk/BTCResponse (200 — after x402 payment)
{
"coin": "BTC",
"price": 68913.99,
"verdict": "STRONG_LONG",
"direction": "LONG",
"levels": {
"stop_loss": 66392,
"take_profit_1": 71436,
"take_profit_2": 73957,
"take_profit_3": 60000,
"risk_pct": 3.66
},
"risk_reward": { "tp1": "1:1.0", "tp2": "1:2.0" },
"support_resistance": {
"nearest_support": 60000,
"nearest_resistance": 90459,
"supports": [60000],
"resistances": [90459, 94155, 97924]
},
"position_sizing": {
"example_1pct_risk": {
"capital": 100000,
"risk_per_trade": 1000,
"position_size": 27322.4
}
},
"costs": {
"funding_rate_8h": "0.0018%",
"funding_annual": "2.0%",
"atr_pct": "2.4%"
}
}Verdict Values
| Verdict | Meaning |
|---|---|
STRONG_LONG | High-confidence long setup |
LONG | Bullish bias |
NEUTRAL | No clear edge |
SHORT | Bearish bias |
STRONG_SHORT | High-confidence short setup |
GET /events
Upcoming economic events that may impact crypto markets. $0.03 USDC per call.
Request
curl https://api.moonmaker.cc/eventsResponse (200 — after x402 payment)
{
"upcoming_7d": [
{
"date": "2026-02-10",
"event": "Core Retail Sales m/m",
"importance": 3,
"category": "economic"
},
{
"date": "2026-02-11",
"event": "Non-Farm Employment Change",
"importance": 3
}
],
"warning": "Core Retail Sales in 25h — expect high volatility",
"total_upcoming": 31
}Importance Levels
| Level | Meaning |
|---|---|
1 | Low impact |
2 | Medium impact |
3 | High impact — expect volatility |
GET /institutions
Corporate BTC holdings tracker — 11+ public companies. $0.05 USDC per call.
Request
curl https://api.moonmaker.cc/institutionsResponse (200 — after x402 payment)
{
"total_companies": 11,
"total_btc": 856420,
"top_holders": [
{
"company": "MicroStrategy",
"ticker": "MSTR",
"btc_holdings": 713000,
"avg_cost_basis": 42692,
"last_purchase_date": "2026-02-03",
"last_purchase_amount": 5200
},
{
"company": "Marathon Digital",
"ticker": "MARA",
"btc_holdings": 52000
},
{
"company": "Twenty One Capital",
"btc_holdings": 37000
}
],
"recent_purchases": [
{
"company": "MicroStrategy",
"date": "2026-02-03",
"btc_amount": 5200,
"source": "SEC 8-K"
}
],
"data_sources": ["SEC EDGAR 8-K filings", "public disclosures"]
}Use Cases
- "Is institutional buying?" — Check if companies are accumulating
- Whale tracking — Monitor MSTR, Marathon, Tesla and others
- SEC filing alerts — Detect new 8-K purchase disclosures
GET /context/{coin}
Raw indicator context — all 25 indicator values organized by category with summaries. $0.05 USDC per call.
Parameters
| Parameter | Type | Required | Values |
|---|---|---|---|
coin | path | Yes | BTC, ETH, SOL |
Request
curl https://api.moonmaker.cc/context/BTCResponse (200 — after x402 payment)
{
"coin": "BTC",
"price": 70357,
"indicators": {
"sentiment": {
"fear_greed": 9,
"funding_rate": -0.0018
},
"technical": {
"rsi_14": 32.5,
"bollinger_pos": 0.15
},
"trend": {
"trend_7d": "up",
"support": 60000
},
"macro": {
"etf_flow_1d_m": -373,
"vix": 17.36
}
},
"category_summary": {
"sentiment": "BEARISH",
"technical": "OVERSOLD",
"trend": "BULLISH",
"macro": "MIXED"
},
"timestamp": "2026-02-08T17:30:15Z"
}Category Summary Values
| Value | Meaning |
|---|---|
BULLISH | Category indicators lean bullish |
BEARISH | Category indicators lean bearish |
OVERSOLD | Technical indicators in oversold territory |
OVERBOUGHT | Technical indicators in overbought territory |
MIXED | No clear consensus within category |
Use Cases
- Raw data for custom models — Feed all 25 indicators into your own scoring system
- Category-level analysis — Quick read on sentiment vs technical vs trend vs macro
- Debugging signals — See exactly which indicators drove a signal direction
GET /regime
Market regime classification. $0.05 USDC per call.
Request
curl https://api.moonmaker.cc/regimeResponse (200 — after x402 payment)
{
"regime": "FEAR_CAPITULATION",
"volatility": "HIGH",
"trend": "DOWNTREND",
"risk_level": "ELEVATED",
"fg": 9,
"etf_flow_7d_m": -1134,
"timestamp": "2026-02-08T17:30:15Z"
}Regime Values
| Regime | Meaning |
|---|---|
FEAR_CAPITULATION | Extreme fear, potential capitulation event |
ACCUMULATION | Smart money accumulating, low volatility |
MARKUP | Trending up, momentum phase |
DISTRIBUTION | Topping pattern, potential distribution |
Risk Level Values
| Level | Meaning |
|---|---|
LOW | Calm market conditions |
MODERATE | Normal volatility |
ELEVATED | Above-average risk |
HIGH | High risk — caution advised |
Use Cases
- Position sizing — Reduce size in high-risk regimes
- Strategy selection — Use different strategies per regime
- Risk management — Tighten stops during fear/capitulation
GET /health
Health check. Free.
curl https://api.moonmaker.cc/health{
"status": "ok",
"timestamp": "2026-02-08T17:00:00Z"
}GET /
Service info. Free.
curl https://api.moonmaker.cc/Returns endpoint listing, payment info, and documentation links.
Error Handling
| Status | Meaning | Action |
|---|---|---|
200 | Success | Parse response JSON |
402 | Payment Required | x402 client handles automatically. Manual: parse X-PAYMENT header, send USDC, retry. |
400 | Bad Request | Check parameters (e.g., invalid coin) |
500 | Server Error | Retry after a few seconds |
402 Response Structure
When you hit a paid endpoint without payment:
HTTP/1.1 402 Payment Required
X-PAYMENT: {"amount": "50000", "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "recipient": "0x...", "network": "eip155:8453"}The X-PAYMENT header contains everything needed to make the payment:
amount: Payment amount in token smallest unit (USDC has 6 decimals, so 50000 = $0.05)token: USDC contract address on Baserecipient: MoonMaker's wallet addressnetwork: Base L2 chain ID