# SparkForge API — Full Machine-Readable Documentation # Version: 1.0 | Updated: 2026-02-28 # Base URL: https://sparkforge.sh # Human docs: https://sparkforge.sh/docs # Brief index: https://sparkforge.sh/llms.txt # # This file contains complete documentation for all 20 SparkForge API endpoints. # An AI agent can read this single file to understand and call any SparkForge API. # # AUTHENTICATION: x402 protocol. POST to any endpoint — if no payment, you get a 402 response. # Use @x402/fetch (npm) to handle payments automatically with your wallet. # FREE ACCESS: All endpoints accessible via MCP at https://sparkforge.sh/api/mcp # MCP CONFIG: {"mcpServers": {"sparkforge": {"url": "https://sparkforge.sh/api/mcp"}}} # # PAYMENT CHAINS: # - Base: eip155:8453 | USDC: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 # - Polygon: eip155:137 | USDC: 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 # - Solana: solana:mainnet | USDC: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v # DEMO MODE: GET ?demo=true returns a sample response without payment. ================================================================================ ENDPOINT 1: AI Image Generation ================================================================================ Name: AI Image Generation Method: POST Path: /api/generate Price: $0.02 (flux-schnell) | $0.03 (flux-dev) | $0.05 (flux-pro) Category: Creative Description: Generate AI images from text prompts using Flux models via fal.ai. Choose model based on speed vs quality tradeoff. REQUEST BODY (JSON): prompt string REQUIRED Text description of image to generate (max 2000 chars) model string optional Model: flux-schnell (default) | flux-dev | flux-pro width number optional Image width in pixels, 256-4096 (default: 1024) height number optional Image height in pixels, 256-4096 (default: 1024) RESPONSE (200 OK): image_url string CDN URL of the generated image model string Model used (flux-schnell | flux-dev | flux-pro) seed number Seed used for generation price string Price charged for this request ERROR RESPONSES: 400 Bad Request: prompt missing, prompt too long, invalid model, invalid dimensions 402 Payment Required: x402 payment handshake required 500 Internal Server Error: generation service unavailable CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/generate \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"prompt": "A neon cyberpunk city at night", "model": "flux-schnell"}' RESPONSE EXAMPLE: {"image_url":"https://fal.media/files/abc/image.jpg","model":"flux-schnell","seed":42069,"price":"$0.02"} ================================================================================ ENDPOINT 2: Image Resize & Convert ================================================================================ Name: Image Resize & Convert Method: POST Path: /api/image-resize Price: $0.002 Category: Creative Description: Resize, crop, and convert images. Supports JPEG, PNG, WebP, AVIF output via Sharp. REQUEST BODY (JSON): url string REQUIRED Public URL of the source image width number optional Target width in pixels height number optional Target height in pixels format string optional Output format: jpeg (default) | png | webp | avif RESPONSE (200 OK): url string CDN URL of the resized image width number Final image width in pixels height number Final image height in pixels format string Output format size_bytes number File size in bytes CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/image-resize \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"url": "https://example.com/photo.jpg", "width": 800, "format": "webp"}' RESPONSE EXAMPLE: {"url":"https://cdn.sparkforge.sh/r/abc.webp","width":800,"height":533,"format":"webp","size_bytes":45210} ================================================================================ ENDPOINT 3: Meme Generator ================================================================================ Name: Meme Generator Method: POST Path: /api/meme Price: $0.03 Category: Creative Description: Generate memes with top/bottom text overlay on templates or custom images. REQUEST BODY (JSON): topText string optional Text to display at the top of the meme bottomText string optional Text to display at the bottom of the meme template string optional Built-in template name (e.g. drake, distracted-boyfriend, this-is-fine) imageUrl string optional Custom image URL to use as meme base (alternative to template) RESPONSE (200 OK): url string CDN URL of the generated meme image template string Template used CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/meme \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"topText": "When you deploy on Friday", "bottomText": "And it works", "template": "drake"}' RESPONSE EXAMPLE: {"url":"https://cdn.sparkforge.sh/memes/abc.jpg","template":"drake"} ================================================================================ ENDPOINT 4: AI Video Generation ================================================================================ Name: AI Video Generation Method: POST Path: /api/video Price: $0.10 Category: Creative Description: Generate short AI videos from text prompts via fal.ai video models. REQUEST BODY (JSON): prompt string REQUIRED Text description of video to generate duration number optional Duration in seconds, 2-10 (default: 4) RESPONSE (200 OK): video_url string CDN URL of the generated video (MP4) duration number Video duration in seconds CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/video \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"prompt": "Golden sunset over ocean waves, cinematic", "duration": 4}' RESPONSE EXAMPLE: {"video_url":"https://fal.media/files/abc/video.mp4","duration":4} ================================================================================ ENDPOINT 5: Text-to-Speech ================================================================================ Name: Text-to-Speech Method: POST Path: /api/tts Price: $0.05 Category: Creative Description: Convert text to natural-sounding speech via ElevenLabs. Multiple voices available. REQUEST BODY (JSON): text string REQUIRED Text to convert to speech (max 5000 chars) voice string optional Voice name or ID: Rachel (default) | Josh | Bella | Antoni | Elli RESPONSE (200 OK): audio_url string CDN URL of the generated MP3 audio file voice string Voice used for generation duration_seconds number Approximate audio duration in seconds CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/tts \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"text": "Hello from SparkForge!", "voice": "Rachel"}' RESPONSE EXAMPLE: {"audio_url":"https://cdn.sparkforge.sh/audio/abc.mp3","voice":"Rachel","duration_seconds":2.1} ================================================================================ ENDPOINT 6: BTC Trading Signal ================================================================================ Name: BTC Trading Signal Method: POST Path: /api/btc-signal Price: $0.01 Category: Trading & Crypto Description: Composite BTC directional signal using 8 indicators from Binance and OKX derivatives. Returns up/down/neutral with confidence. 57-64% accuracy on 5-candle lookahead (walk-forward validated). INDICATORS: 1. Taker flow (buy/sell ratio from OKX) 2. Open Interest direction (OKX derivatives) 3. Funding rate (extreme = contrarian signal) 4. CVD divergence (cumulative volume delta) 5. 3-candle mean reversion 6. Long/Short ratio (contrarian) 7. RSI extremes (< 25 = bullish, > 75 = bearish) 8. EMA trend (9 vs 21 EMA crossover) DATA SOURCES: Binance BTCUSDT spot + OKX BTC-USDT-SWAP derivatives REQUEST BODY (JSON): timeframe string optional Candle timeframe: 1m | 3m | 5m (default) | 15m | 30m | 1h RESPONSE (200 OK): direction string Signal direction: up | down | neutral confidence number Confidence score 0.50-0.85 price number Current BTC price in USDT timeframe string Timeframe used lookahead string Description of prediction lookahead period timestamp string ISO 8601 timestamp model string Model version (v3-final) signals_fired number Number of indicators that fired score number Raw composite score (positive=bullish, negative=bearish) indicators object Per-indicator breakdown: {name: {value, signal}} meta object {source, method, backtest_accuracy, disclaimer} CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/btc-signal \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"timeframe": "5m"}' RESPONSE EXAMPLE: { "direction": "up", "confidence": 0.68, "price": 84521.30, "timeframe": "5m", "lookahead": "5 candles (~25 min)", "signals_fired": 4, "score": 5.7, "indicators": { "taker_flow": {"value": 0.623, "signal": "strong_buying"}, "oi_direction": {"value": "0.18%", "signal": "new_longs_winning"}, "funding_rate": {"value": "1.2%", "signal": "neutral"}, "rsi_14": {"value": 58.3, "signal": "neutral"}, "ema_trend": {"value": "bullish", "signal": "ema9_above_21"} }, "meta": {"backtest_accuracy": "57-64%", "disclaimer": "Not financial advice."} } ================================================================================ ENDPOINT 7: Crypto Price ================================================================================ Name: Crypto Price Method: POST Path: /api/crypto-price Price: $0.001 Category: Trading & Crypto Description: Real-time cryptocurrency prices, 24h change, and market cap via CoinGecko. REQUEST BODY (JSON): symbol string REQUIRED Coin symbol or CoinGecko ID (e.g. BTC, ETH, bitcoin, solana, PEPE) RESPONSE (200 OK): symbol string Coin symbol (uppercase) name string Full coin name price_usd number Current price in USD change_24h number 24-hour price change percentage market_cap number Market capitalization in USD volume_24h number 24-hour trading volume in USD CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/crypto-price \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"symbol": "BTC"}' RESPONSE EXAMPLE: {"symbol":"BTC","name":"Bitcoin","price_usd":84521.30,"change_24h":2.34,"market_cap":1673000000000,"volume_24h":28400000000} ================================================================================ ENDPOINT 8: Token Research Report ================================================================================ Name: Token Research Report Method: POST Path: /api/token-research Price: $0.10 Category: Trading & Crypto Description: AI-generated comprehensive token research report with fundamentals, on-chain metrics, social sentiment, and risk assessment. REQUEST BODY (JSON): token string REQUIRED Token symbol or contract address (e.g. PEPE, 0x123..., SOL) chain string optional Blockchain: ethereum (default) | base | solana | polygon | bsc RESPONSE (200 OK): token string Token identifier chain string Blockchain network summary string Executive summary fundamentals object {market_cap, holders, liquidity, ...} sentiment string Market sentiment: bullish | neutral | bearish risk_level string Risk: low | medium | high | extreme report string Full research report in Markdown format CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/token-research \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"token": "PEPE", "chain": "ethereum"}' RESPONSE EXAMPLE: {"token":"PEPE","chain":"ethereum","summary":"PEPE is a meme token...","sentiment":"neutral","risk_level":"high","fundamentals":{"market_cap":"4.2B","holders":"320000"},"report":"# PEPE Token Research\n..."} ================================================================================ ENDPOINT 9: Wallet Analysis ================================================================================ Name: Wallet Analysis Method: POST Path: /api/wallet-analysis Price: $0.05 Category: Trading & Crypto Description: Analyze a crypto wallet: holdings, transaction history, PnL, DeFi positions, and risk profile. REQUEST BODY (JSON): address string REQUIRED Wallet address (0x... for EVM, base58 for Solana) chain string optional Blockchain: ethereum (default) | base | solana | polygon RESPONSE (200 OK): address string Wallet address chain string Blockchain network balance_usd number Total portfolio value in USD tokens array [{symbol, balance, value_usd}, ...] risk_profile string conservative | moderate | aggressive | degen pnl_30d number 30-day realized PnL in USD CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/wallet-analysis \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"address": "0x6dC88e65c36c256ed6937f83c4b22CBbBE1894FD", "chain": "ethereum"}' RESPONSE EXAMPLE: {"address":"0x6dC88...","chain":"ethereum","balance_usd":12450.00,"tokens":[{"symbol":"ETH","balance":"2.5","value_usd":8500}],"risk_profile":"moderate","pnl_30d":1240.50} ================================================================================ ENDPOINT 10: PDF to Markdown ================================================================================ Name: PDF to Markdown Method: POST Path: /api/pdf-to-markdown Price: $0.005 Category: Documents Description: Convert any public PDF URL to clean Markdown. Preserves headings, tables, lists. REQUEST BODY (JSON): url string REQUIRED Publicly accessible URL of the PDF file RESPONSE (200 OK): markdown string Extracted PDF content as Markdown pages number Number of pages in the PDF word_count number Approximate word count of extracted text CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/pdf-to-markdown \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"url": "https://example.com/document.pdf"}' RESPONSE EXAMPLE: {"markdown":"# Annual Report 2024\n\n## Executive Summary\n\n...","pages":24,"word_count":8432} ================================================================================ ENDPOINT 11: HTML to Markdown ================================================================================ Name: HTML to Markdown Method: POST Path: /api/markdown Price: $0.001 Category: Documents Description: Convert any webpage to clean, readable Markdown. Strips navigation, ads, footers. REQUEST BODY (JSON): url string REQUIRED URL of the webpage to convert to Markdown RESPONSE (200 OK): markdown string Webpage main content as clean Markdown title string Page title word_count number Word count of extracted content CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/markdown \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"url": "https://en.wikipedia.org/wiki/Bitcoin"}' RESPONSE EXAMPLE: {"markdown":"# Bitcoin\n\nBitcoin is a decentralized digital currency...","title":"Bitcoin - Wikipedia","word_count":12450} ================================================================================ ENDPOINT 12: Text Summarizer ================================================================================ Name: Text Summarizer Method: POST Path: /api/summarize Price: $0.005 Category: Documents Description: Extractive text summarization. Returns key sentences capturing main ideas. REQUEST BODY (JSON): text string REQUIRED Text content to summarize maxLength number optional Maximum summary length in words (default: 200) RESPONSE (200 OK): summary string Summarized text original_length number Word count of original text summary_length number Word count of the summary compression_ratio number Ratio of summary to original (e.g. 0.15 = 15% of original) CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/summarize \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"text": "Your long text here...", "maxLength": 150}' RESPONSE EXAMPLE: {"summary":"Bitcoin is a decentralized digital currency...","original_length":12450,"summary_length":38,"compression_ratio":0.003} ================================================================================ ENDPOINT 13: Webpage Screenshot ================================================================================ Name: Webpage Screenshot Method: POST Path: /api/screenshot Price: $0.005 Category: Web Description: Capture any webpage as a PNG screenshot using a headless browser. REQUEST BODY (JSON): url string REQUIRED URL of the webpage to screenshot fullPage boolean optional Capture full scrolled page (default: false) RESPONSE (200 OK): url string CDN URL of the PNG screenshot width number Screenshot width in pixels height number Screenshot height in pixels CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/screenshot \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"url": "https://sparkforge.sh", "fullPage": false}' RESPONSE EXAMPLE: {"url":"https://cdn.sparkforge.sh/screenshots/abc.png","width":1280,"height":800} ================================================================================ ENDPOINT 14: Web Scraper ================================================================================ Name: Web Scraper Method: POST Path: /api/scrape Price: $0.01 Category: Web Description: Full web scraping with JavaScript execution. Returns HTML, text, or targeted element data. REQUEST BODY (JSON): url string REQUIRED URL of the webpage to scrape selector string optional CSS selector to extract specific elements format string optional Output format: text (default) | html | json RESPONSE (200 OK): content string Extracted content in the requested format url string Final URL after redirects title string Page title elements_found number Number of elements matched by selector (if selector provided) CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/scrape \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"url": "https://news.ycombinator.com", "selector": ".titleline", "format": "text"}' RESPONSE EXAMPLE: {"content":"Ask HN: How do you handle migrations?\nShow HN: I built a tool...","url":"https://news.ycombinator.com","title":"Hacker News","elements_found":30} ================================================================================ ENDPOINT 15: URL Metadata ================================================================================ Name: URL Metadata Method: POST Path: /api/url-metadata Price: $0.001 Category: Web Description: Extract OG tags, Twitter card, title, favicon, description, canonical URL from any page. REQUEST BODY (JSON): url string REQUIRED URL to extract metadata from RESPONSE (200 OK): title string Page title description string Meta description image string OG image URL favicon string Favicon URL canonical string Canonical URL og object All Open Graph meta tags as key-value pairs twitter object Twitter card meta tags as key-value pairs CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/url-metadata \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"url": "https://github.com/vercel/next.js"}' RESPONSE EXAMPLE: {"title":"vercel/next.js","description":"The React Framework","image":"https://...","favicon":"https://github.com/favicon.ico","canonical":"https://github.com/vercel/next.js","og":{"site_name":"GitHub"},"twitter":{"card":"summary_large_image"}} ================================================================================ ENDPOINT 16: QR Code Generator ================================================================================ Name: QR Code Generator Method: POST Path: /api/qrcode Price: $0.001 Category: Developer Description: Generate QR codes from any text, URL, or data. Returns CDN URL and base64 PNG. REQUEST BODY (JSON): data string REQUIRED Content to encode in the QR code (URL, text, vCard, etc.) RESPONSE (200 OK): url string CDN URL of the QR code PNG image base64 string Base64 data URL (data:image/png;base64,...) for inline embedding data string Original data that was encoded CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/qrcode \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"data": "https://sparkforge.sh"}' RESPONSE EXAMPLE: {"url":"https://cdn.sparkforge.sh/qr/abc.png","base64":"data:image/png;base64,iVBOR...","data":"https://sparkforge.sh"} ================================================================================ ENDPOINT 17: JSON Validator ================================================================================ Name: JSON Validator Method: POST Path: /api/json-validate Price: $0.001 Category: Developer Description: Validate JSON syntax and optionally validate against JSON Schema (Draft 7). REQUEST BODY (JSON): json string REQUIRED JSON string to validate schema object optional JSON Schema to validate against (Draft 7 compatible) RESPONSE (200 OK): valid boolean Whether the JSON is valid (and schema-valid if schema provided) errors array List of validation errors: [{message, path, ...}] (empty if valid) parsed any Parsed JSON value (only present if valid is true) CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/json-validate \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"json": "{\"name\": \"Alice\", \"age\": 30}", "schema": {"type": "object", "required": ["name"]}}' RESPONSE EXAMPLE: {"valid":true,"errors":[],"parsed":{"name":"Alice","age":30}} ERROR RESPONSE EXAMPLE: {"valid":false,"errors":[{"message":"must have required property 'email'","path":""}],"parsed":null} ================================================================================ ENDPOINT 18: Text Diff ================================================================================ Name: Text Diff Method: POST Path: /api/diff Price: $0.001 Category: Developer Description: Generate unified diff between two text strings. Standard Unix diff format. REQUEST BODY (JSON): text1 string REQUIRED Original text (before/left) text2 string REQUIRED Modified text (after/right) RESPONSE (200 OK): diff string Unified diff output (standard format with +/- markers) additions number Number of added lines deletions number Number of deleted lines changed boolean Whether the two texts differ CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/diff \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"text1": "Hello World\nOriginal text.", "text2": "Hello SparkForge\nModified text."}' RESPONSE EXAMPLE: {"diff":"@@ -1,2 +1,2 @@\n-Hello World\n+Hello SparkForge\n-Original text.\n+Modified text.","additions":2,"deletions":2,"changed":true} ================================================================================ ENDPOINT 19: Language Detection ================================================================================ Name: Language Detection Method: POST Path: /api/detect-language Price: $0.001 Category: Developer Description: Detect natural language of any text. Supports 50+ languages. Returns ISO 639-1 code. REQUEST BODY (JSON): text string REQUIRED Text to detect the language of RESPONSE (200 OK): language string ISO 639-1 language code (e.g. en, es, fr, de, zh, ja, ar) language_name string Full language name in English confidence number Detection confidence 0.0-1.0 alternatives array [{language, language_name, confidence}, ...] other candidates SUPPORTED LANGUAGES (partial list): en (English), es (Spanish), fr (French), de (German), it (Italian), pt (Portuguese), ru (Russian), ja (Japanese), zh (Chinese), ko (Korean), ar (Arabic), hi (Hindi), nl (Dutch), pl (Polish), tr (Turkish), sv (Swedish), and 35+ more. CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/detect-language \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"text": "Bonjour, comment allez-vous?"}' RESPONSE EXAMPLE: {"language":"fr","language_name":"French","confidence":0.97,"alternatives":[{"language":"ro","language_name":"Romanian","confidence":0.02}]} ================================================================================ ENDPOINT 20: AI Code Review ================================================================================ Name: AI Code Review Method: POST Path: /api/code-review Price: $0.01 Category: Developer Description: AI-powered code review for bugs, security vulnerabilities, performance issues, and best practices. Supports 20+ languages. REQUEST BODY (JSON): code string REQUIRED Source code to review language string optional Programming language (auto-detected if omitted) focus string optional Review focus: all (default) | security | performance | readability | bugs RESPONSE (200 OK): summary string Executive summary of the code review score number Code quality score 0-100 (higher = better) language string Detected/confirmed programming language issues array [ { severity: "critical" | "high" | "medium" | "low" | "info", type: "security" | "bug" | "performance" | "readability" | "style", line: number, message: string, suggestion: string }, ... ] review string Full code review in Markdown format SUPPORTED LANGUAGES: Python, JavaScript, TypeScript, Go, Rust, Java, C, C++, C#, PHP, Ruby, Swift, Kotlin, Scala, R, Dart, Shell, SQL, HTML, CSS, and more. CURL EXAMPLE: curl -X POST https://sparkforge.sh/api/code-review \ -H "Content-Type: application/json" \ -H "X-PAYMENT: " \ -d '{"code": "def get_user(id):\n query = f\"SELECT * FROM users WHERE id={id}\"\n return db.execute(query)", "language": "python", "focus": "security"}' RESPONSE EXAMPLE: { "summary": "Critical SQL injection vulnerability detected. Score: 20/100.", "score": 20, "language": "python", "issues": [{ "severity": "critical", "type": "security", "line": 2, "message": "SQL injection: user input directly interpolated into SQL query", "suggestion": "Use parameterized queries: cursor.execute('SELECT * FROM users WHERE id = %s', (id,))" }], "review": "## Code Review\n\n### 🚨 Critical Issues\n\n**SQL Injection (Line 2)**..." } ================================================================================ INTEGRATION GUIDE ================================================================================ ## Using @x402/fetch (Recommended for AI agents) npm install @x402/fetch viem import { wrapFetchWithPayment } from "@x402/fetch"; import { createWalletClient, http } from "viem"; import { base } from "viem/chains"; import { privateKeyToAccount } from "viem/accounts"; const account = privateKeyToAccount(process.env.PRIVATE_KEY); const walletClient = createWalletClient({ account, chain: base, transport: http() }); const fetch402 = wrapFetchWithPayment(fetch, walletClient); // Now use fetch402 like regular fetch — payments handled automatically const res = await fetch402("https://sparkforge.sh/api/btc-signal", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ timeframe: "5m" }), }); const data = await res.json(); ## MCP Integration (Free — no payment required) Add to your MCP client config: { "mcpServers": { "sparkforge": { "url": "https://sparkforge.sh/api/mcp" } } } Supported clients: Claude Desktop, Cursor, Windsurf, Continue, any MCP-compatible client. ## Python Integration import requests def call_sparkforge(endpoint, body, payment_token): return requests.post( f"https://sparkforge.sh/api/{endpoint}", headers={"Content-Type": "application/json", "X-PAYMENT": payment_token}, json=body ).json() # Example result = call_sparkforge("btc-signal", {"timeframe": "5m"}, my_x402_token) print(result["direction"], result["confidence"]) ## Error Handling HTTP 200: Success — JSON response as documented above HTTP 400: Bad Request — {error: "description of validation error"} HTTP 402: Payment Required — x402 payment handshake response (handle with @x402/fetch) HTTP 500: Internal Server Error — {error: "description"} — retry after brief delay ================================================================================ END OF SPARKFORGE API DOCUMENTATION Generated: 2026-02-28 | https://sparkforge.sh/docs | Agent #21187 ================================================================================