Next free-source huntWe check for new free data every weekday.
FinancialMCP serverFirst audited Nov 13, 2026

Sats4AI - Bitcoin-Powered AI Tools

40+ Lightning-paid AI tools for agents: calls, SMS, fax, voice, translation. No signup, no keys.The vendor's description, from its MCP Registry listing.

Passed, with 1 warningAudited Nov 13, 2026
  • Warning: 45 of 58 tools do not say whether they can change things.

Nothing failed, but there is something to know or fix. Public audit: we connect as an AI client would, list the tools and check what they say. We do not run them. How we audit

Does it work?
YesConnected in 507 ms.
Sign-up?
None neededIt answered without any account or key.
Can it change things?
YesSome tools say they can change things, and others do not say.
Endpointhttps://sats4ai.com/api/mcp

Source code Streamable HTTP · protocol 2025-11-25 · server version 1.0.0

What we checked, the evidence, and the tools it offers.

What we checked

Security

  • Passed: Connections are encrypted (HTTPS).

  • Passed: No hidden instructions found in tool text.

Safety labels

  • Warning: 45 of 58 tools do not say whether they can change things.

    MCP lets a server label each tool as read-only or destructive, so clients can ask the user before risky calls. Unlabelled tools are treated as able to change things.

    • create_payment
    • create_cart
    • generate_image
    • generate_video
    • animate_image
    • check_job_status
    • analyze_image
    • generate_text
    • and 37 more
  • Note: 5 tools are labelled as able to change things.

    Expected for tools that send, write or buy. Your AI client should ask before calling them.

    • send_email
    • send_sms
    • place_call
    • send_fax
    • ai_call

Tools

  • Passed: 58 tools listed.

  • Passed: Every tool describes its inputs with a valid schema.

Protocol

  • Passed: The MCP handshake works (Streamable HTTP).

  • Passed: Protocol version 2025-11-25 (latest).

  • Passed: Unknown requests are refused.

Connection

  • Passed: The server responds.

Tools (58)

As the server describes them. The labels are the server's own: it says whether each tool only reads or can change things.

  • create_paymentCreate a Lightning invoice to pay for one AI service call. Returns JSON: { paymentId, lightningInvoice (BOLT11), amountSats, expiresAt }. Each payment covers exactly one tool call — call this once pe…Doesn't say
  • create_cartPay for 2 to 10 calls with ONE Lightning invoice, up to 2,000 sats in all. Each item is { toolName, ...the same inputs create_payment takes for that tool }. The server checks and prices EVERY item fi…Doesn't say
  • check_payment_statusCheck whether a Lightning invoice has been paid. Returns JSON: { paid, serviceUsed, refundAllowed, readyToUse, next, state } — readyToUse=true means paid, not yet consumed, and no refund queued; next…Read-only
  • generate_imageGenerate an image from a text prompt. Returns JSON with image URL. Models: Grok Imagine 2 (fast creative generation, 100 sats), Seedream 5 Pro (most permissive content policy, 150 sats at 1K / 300 at…Doesn't say
  • generate_videoGenerate cinematic video from a text prompt. Uses MiniMax H3 — top 2 on the Artificial Analysis text-to-video leaderboard — with native audio. Async — returns requestId, poll with check_job_status. 7…Doesn't say
  • animate_imageAnimate a still image into cinematic video with MiniMax H3 — provide a first frame and a prompt to direct the motion. Native audio. Async — returns requestId, poll with check_job_status. 768p or 2K (…Doesn't say
  • check_job_statusPoll the status of an async job. Use this after calling any async tool (generate_video, animate_image, generate_3d_model, transcribe_audio, epub_to_audiobook, ai_call) that returns a requestId. Retur…Doesn't say
  • get_job_resultRetrieve the final output of a completed async job. Call ONLY after check_job_status returns status='COMPLETED' — calling on a job that has not completed returns an error. Returns JSON whose shape de…Read-only
  • await_resultWait for an async job to finish and return its result in ONE call — no manual polling loop. Pass the requestId + jobType from an async tool (generate_video, animate_image, generate_3d_model, transcri…Read-only
  • analyze_imageAnalyze and describe image content, answer visual questions, extract information from screenshots or photos. Uses Qwen VL — multimodal vision-language model with strong OCR, chart reading, and spatia…Doesn't say
  • generate_textGenerate text using frontier AI language models. Pure per-character pricing (no minimum): Kimi K3 (best, ~10 chars/sat, 1M context, default), GPT-OSS-120B (standard, ~1000 chars/sat, 119 languages, b…Doesn't say
  • generate_musicGenerate a full song with AI vocals from a style prompt plus lyrics — or an INSTRUMENTAL bed / underscore (background music under video narration, intros, outros) by sending ONLY structure tags and n…Doesn't say
  • text_to_speechText-to-speech with 3 tiers: OmniVoice Global (602+ languages including Yoruba, Bengali, Cebuano, Twi, voice design, ~106 chars/sat — use 'language' parameter with ISO code), Inworld Premium (#1 rank…Doesn't say
  • transcribe_audioTranscribe audio to text with WORD-LEVEL timestamps (timestamps:'word' returns per-word start/end times — subtitle alignment, karaoke captions, cutting video to speech) or segment timestamps. Uses Mi…Doesn't say
  • transcribe_translateCompound endpoint — one payment turns audio in any of 13 source languages into both a transcript AND a translation in any of 119 target languages. Perfect for WhatsApp voice messages in a language yo…Doesn't say
  • translate_epubTranslate a whole EPUB into another language and get an EPUB back. Every chapter is translated with its markup intact — headings, emphasis, footnote links, images and code stay where they were — the…Doesn't say
  • generate_3d_modelGenerate a textured 3D GLB model from EITHER a photo OR a text prompt (provide exactly one, not both). Uses Tencent Hunyuan3D — high-fidelity geometry and PBR materials. Async — returns requestId, po…Doesn't say
  • extract_documentExtract text from PDFs and images as clean Markdown. Uses Mistral OCR — handles complex layouts, tables, handwriting, multi-column documents, and mathematical notation. Preserves document hierarchy i…Doesn't say
  • convert_fileConvert files between 200+ formats: documents (PDF, DOCX, XLSX, HTML→PDF), images (PNG, JPG, WEBP, SVG), PDF first page to image (PDF→JPG, PDF→PNG), audio (MP3, WAV, FLAC), video (MP4, AVI, MOV). Ind…Doesn't say
  • send_emailReach anyone with an email address — useful when your task requires formal communication, sending reports, or contacting someone outside chat. No SMTP server, no domain verification needed. Plain tex…Can change things
  • clone_voiceClone a voice you own or have permission to use, from a single audio sample. Returns a reusable voice_id for text_to_speech. Requires consent=true; cloning a voice to impersonate someone is prohibite…Doesn't say
  • edit_imageEdit an image with natural language instructions. Uses MAI-Image-2.6, ranked #3 on the Artificial Analysis image-editing leaderboard as of September 2026 — understands context, handles object additio…Doesn't say
  • merge_pdfsMerge multiple PDF files into a single document. Preserves bookmarks, links, and formatting. Returns JSON: { url } — a temporary download URL (valid ~1 hour). Minimum 2 files, no maximum. Files are c…Doesn't say
  • convert_html_to_pdfConvert HTML or Markdown to a pixel-perfect PDF. Returns JSON: { url } — a temporary download URL (valid ~1 hour). Great for generating invoices, reports, receipts, or formatted documents programmati…Doesn't say
  • render_cardRender a typographic card — headline, versus (two columns), list, stat (one big number) or quote — as a PNG or JPEG at 1920x1080 or 2560x1440. Deterministic layout, no AI model: the text you send is…Doesn't say
  • translate_textTranslate text across 119 languages with high accuracy. The target language picks the engine: GPT-OSS 120B by default, or a higher-scoring model (Gemini) where one measurably beats it. Auto-detects s…Doesn't say
  • multilingual_askAsk a frontier AI a question in your OWN language and get the answer back in that same language, in ONE payment. We translate the question to English, answer it with a frontier model, then translate…Doesn't say
  • translate_rare_languageTranslate into 452 languages, 251 of them NOT supported by ChatGPT, Claude or Gemini (29 of those 251 measured at fair quality or better against human references) — including Bhojpuri (~50M speakers)…Doesn't say
  • extract_receiptExtract structured data from receipts, invoices, and financial documents. Uses a dual-model pipeline (Mistral OCR + Kimi K3) for high-accuracy extraction. Returns JSON with merchant, date, line items…Doesn't say
  • boardingpass_walletTurn airline boarding passes (PDF or screenshot) into Google Wallet passes with the fields a plain scan drops — boarding zone, gate, boarding time — for a whole family in one go. Returns one save lin…Doesn't say
  • e_signatureSend a document out for legally binding e-signature and have the signed copy emailed back. Upload the PDF, name up to 3 signers, and give the email where the signed copy should land. Flat 1000 sats p…Doesn't say
  • epub_to_audiobookConvert books (EPUB/PDF/TXT) to full audiobooks with automatic chapter detection, multi-voice narration, and optional translation to any language before narration. 3 voice tiers: OmniVoice Global (60…Doesn't say
  • send_smsReach a human via SMS when your task requires real-world coordination. Sends to 190+ countries; delivery timing varies by destination. Refused before payment, with no invoice, because their networks…Can change things
  • place_callBridge the digital-physical gap — place an automated phone call to deliver a spoken message or play audio to any number. Useful when your task requires notifying a human, delivering alerts, or reachi…Can change things
  • send_faxWhen your task requires a paper-trail on the other end — loan paperwork to a bank, signed contract to a notary, booking confirmation to a hotel in Japan — send a fax to any number worldwide. Two mode…Can change things
  • receive_faxWhen you're expecting a fax back — bank confirmation, court filing, signed document — open a 24h receive window at our shared number +1 320 299 1523. Matched by caller ID (last 10 digits of the sende…Doesn't say
  • ai_callWhen your task hits a wall that requires a human — booking, negotiating, navigating IVR menus, getting information from a business — send an AI voice agent to handle the call. The agent follows your…Can change things
  • confirm_ai_callConfirm an AI call after reviewing push-back questions, optionally providing answers to missing info. Required when ai_call returns state='pending_confirm'. Uses the original payment — no new payment…Doesn't say
  • open_voice_bridgeOpen a phone call you drive one turn at a time: we dial, transcribe what the other side says, and speak whatever text you send. You call voice_bridge_say to talk, poll_voice_bridge to read transcript…Doesn't say
  • voice_bridge_sayInject audio into an open Voice Bridge call. Two modes: (1) text — we synthesize speech in any of 602 languages (English, Spanish and German start fastest); (2) audio_base64 + encoding — bring your o…Doesn't say
  • poll_voice_bridgeFetch new transcript events from an open Voice Bridge call since the last cursor. Returns partial + final transcripts + system events. Pass waitMs (e.g. 20000) to hold the call until the callee has F…Doesn't say
  • end_voice_bridgeHang up a Voice Bridge call, finalize billing, and return a LNURL-withdraw refund link for unused deposit time. Also returns the final transcript for convenience.Doesn't say
  • list_modelsDiscover available AI models with numeric IDs, tier labels, capabilities, and per-call pricing in sats. Call this before create_payment to find the right modelId for your task. Returns JSON array: [{…Read-only
  • get_model_pricingGet pricing for a specific model by ID. No payment required.Read-only
  • get_cost_estimateGet an exact sat cost quote for a service BEFORE creating a payment. Useful for budget-aware agents to price-check before committing. No payment required, no side effects. Pass service=text-to-speech…Read-only
  • get_error_codesGet the machine-readable catalog of all error codes this API can return (e.g. TIMEOUT, CONTENT_FILTERED, RATE_LIMITED, L402_REFUND_ISSUED, L402_AUTO_ROUTED). Agents should branch on error_code rather…Read-only
  • request_refundOpen a MANUAL 48-hour refund review ticket for a service that FAILED (error, timeout, wrong output). Sends an email to the operator. DO NOT call this for unused-minute refunds on metered services (ai…Doesn't say
  • remove_backgroundRemove background from any image, returning transparent PNG. Uses BiRefNet (state-of-the-art, Papers with Code — Sm 0.901 on DIS5K). Handles hair, fur, glass, transparency, and complex edges. Stable…Doesn't say
  • upscale_imageUpscale images 2x or 4x with neural super-resolution. Uses Real-ESRGAN (ICCV 2021, PSNR 32.73dB on Set5 4x, 100M+ production runs). Recovers real detail from low-resolution images — not interpolation…Doesn't say
  • restore_faceRestore blurry, damaged, or AI-generated faces to sharp, natural quality. Uses CodeFormer (NeurIPS 2022, state-of-the-art FID 32.65 on CelebA-Test). Adjustable fidelity — balance between quality enha…Doesn't say
  • estimate_depthEstimate per-pixel depth from a single photo. Depth Anything V2 (NeurIPS 2024, 3.8M+ runs) returns BOTH the raw greyscale depth map — what a ControlNet, AR or 3D reconstruction pipeline consumes — an…Doesn't say
  • detect_nsfwClassify image safety (normal / suggestive / explicit). Falcons.ai NSFW detection — 100x cheaper and faster than asking an LLM. Returns classification label and boolean is_nsfw flag. Essential for co…Doesn't say
  • detect_objectsDetect and locate objects in an image by name. Grounding DINO (open-set detector, ECCV 2024) — describe what to find in natural language, get bounding box coordinates and confidence scores. Structure…Doesn't say
  • remove_objectRemove unwanted objects from images by describing what to remove — no mask needed. Combines Grounding DINO detection (ECCV 2024) with Bria Eraser inpainting. Just say 'person', 'car', or 'watermark'…Doesn't say
  • colorize_imageColorize black-and-white or grayscale photos. DDColor (dual-decoder, ICCV 2023) — vivid, natural colorization. Impossible for text/vision LLMs. 5 sats per image, pay per request with Bitcoin Lightnin…Doesn't say
  • deblur_imageRecover detail from camera-shake and accidental motion blur. NAFNet (ECCV 2022, SOTA on GoPro/SIDD benchmarks). Best for: handheld shake, bumped camera, whole-frame uniform blur. NOT effective for: i…Doesn't say
  • vote_on_serviceVote for a planned service to be built next. Returns JSON: { success, slug, newVoteCount }. 1 sat per vote — multiple votes allowed. Call list_planned_services first to discover valid slugs and curre…Doesn't say
  • list_planned_servicesList all planned services with current vote counts. Returns JSON array: [{ slug, name, description, votes }], sorted by votes descending. No payment required — this is a free discovery tool. Use the…Read-only

Audit history

  1. Nov 13Warnings

What we sent

Every request in this audit, with the answer and how long it took. We never send credentials and never call a tool.

RequestAnswerTime
initializeHTTP 200507 ms
initializedHTTP 202364 ms
tools/listHTTP 200577 ms
resources/listHTTP 200128 ms
prompts/listHTTP 200139 ms
unknown-methodHTTP 200124 ms

Run this server, or disagree with the result?

Fix the issue and it shows in the next weekly audit, or email us to ask for a re-audit or to dispute a finding. Read how we audit for what each check means.