Guides -- SendFax.sh
Integration guides
How to send a fax from a real app. One API contract, three kinds of guide. Every page is verified against the source and cites the file that defines the behaviour it documents, so you can check a claim without trusting the prose.
Each guide has a markdown twin: append .md to any URL here, or send Accept: text/markdown. The contract itself is at /openapi.json, and the API reference is on the docs page.
The protocol
What the wire looks like, independent of any platform. Start here if you are integrating from something the platform guides do not cover.
- Sending a fax via HTTPThe wire-format reference. Every other guide in this set is this protocol dressed in a language; this page is the protocol itself, with nothing between you and the bytes./guides/http.md
- Sending a fax with USDC and stablecoinsThe protocol-level guide. No platform, no SDK, no language -- just the HTTP conversation and the on-chain transfer that settles it. If you are integrating from something this documentation set does not cover, this is the page to read./guides/usdc.md
- Sending a fax with MPPMPP -- the Machine Payments Protocol (https://mpp.dev) -- is one of the two wire dialects the SendFax 402 speaks. This guide decodes the challenge field by field, shows how an MPP-capable client pays it, explains the relationship to x402, and states plainly what settles money today versus what is.../guides/mpp.md
Platforms
Building the fax flow into an app, with working code for each runtime.
- Sending a fax with curlNo SDK, no dependencies, no language runtime. curl and jq are enough to send a fax end to end, and the result is short enough to read in one sitting -- which makes this the best page to start from even if you plan to use a library later./guides/curl.md
- Sending a fax with TypeScriptThe sendfax npm package is the official SDK: zero runtime dependencies, ESM + CJS, ~2.5 KB min+gz, and built on web-standard fetch, FormData and Blob -- so it runs unmodified on Node 18+, Bun, Deno, Cloudflare Workers, and in browsers./guides/typescript.md
- SendFax.sh in a React / Next.js web appBrowser-side integration. The sendfax npm SDK runs unmodified in browsers, so most of this guide is about the two things a browser adds that no other platform has: the same-origin problem and the fact that everything you ship is public./guides/nextjs.md
- Sending a fax from a Cloudflare WorkerWorkers are a good host for this: the whole SendFax flow is fetch plus a poll loop, which is exactly what workerd is fast at. The sendfax SDK runs unmodified -- it uses only web-standard fetch, FormData and Blob (sdk/src/client.ts:3-6), all of which workerd implements natively, and the package ad.../guides/cloudflare-workers.md
- SendFax.sh on native macOSSwift, URLSession, no SDK. The sendfax npm package is TypeScript-only, so a native Mac app talks to the OpenAPI contract directly -- which is a short amount of code, because the whole API is four endpoints./guides/macos.md
- SendFax.sh on iOSSwift, URLSession, no SDK. The sendfax npm package is TypeScript-only, so a native iOS app talks to the OpenAPI contract directly. That is a small amount of code -- the whole API is four endpoints -- and it is the same code a Mac app uses, so a multiplatform target can share one file. What differ.../guides/ios.md
- SendFax.sh in React NativeReact Native is the one platform in this set where the official SDK runs, so this guide uses it. sendfax is dependency-free and built on web-standard fetch, FormData and Blob -- which mostly works on Hermes, with three real gaps this guide names and fixes rather than papering over./guides/react-native.md
- Sending a fax from the command lineThis guide was split in two, because it was really two guides wearing one name./guides/cli.md
Agents
Connecting an assistant you already use. Each guide covers the install command, a literal prompt, and how payment actually happens.
- How to send a fax with ClaudeClaude Code, Claude Desktop, and claude.ai can all reach SendFax through the remote MCP server at https://mcp.sendfax.sh/mcp. Claude Code can additionally install the fax skill, which teaches it the HTTP flow directly -- worth having, because of the payment gap described below./guides/agents/claude.md
- How to send a fax with ChatGPTChatGPT can call the SendFax MCP server at https://mcp.sendfax.sh/mcp through developer mode. This guide covers who can turn that on, how to connect, what to say, and how payment actually happens -- which is the part that needs the most honesty, because ChatGPT has no wallet./guides/agents/chatgpt.md
- How to send a fax with CodexOpenAI's Codex CLI speaks MCP over Streamable HTTP natively, so connecting SendFax is one command. Codex has no skills system; its standing-instructions mechanism is AGENTS.md, and this guide shows what to put there./guides/agents/codex.md
- How to send a fax with Hermes(https://github.com/NousResearch/hermes-agent, MIT). It is a standalone agent -- a terminal UI plus a gateway reachable from Telegram, Discord, Slack, WhatsApp, Signal, email and other channels -- not an IDE assistant, and not the Hermes 3/4 open-weights model family, which is a separate thing fr.../guides/agents/hermes.md
- How to send a fax with OpenClawmessaging platforms as its main interface -- WhatsApp, Telegram, Slack, Discord, Signal, iMessage, SMS and twenty-odd others. It was created by Peter Steinberger (launched as Warelay, renamed Clawdbot, then Moltbot, then OpenClaw in January 2026) and is now stewarded by the OpenClaw Foundation. M.../guides/agents/openclaw.md
Payment, in one paragraph
Every guide answers the same question the same way. Wallet available: pay the 402 directly -- send the exact USDC amount on Base to the per-request deposit address in the x-payment-deposit-* response headers, then retry the identical request until it returns 202. No wallet: use the human flow -- POST /api/v1/uploads, then POST /api/v1/checkout, then open the hosted Stripe Checkout URL. There is no third option.
Pricing is a flat $0.05 per page on the wallet rail. The card rail floors at Stripe’s minimum charge, so it is max($0.50, $0.05 x pages). SendFax delivers to the United States, Canada, Mexico, and Saint Pierre & Miquelon; a number outside those countries is rejected with 422 before any payment is requested.