# Photon vs YCloud (slim)

> YCloud scores 64.8 (B) to Photon's 53.2 (D) for sms. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/photon-vs-ycloud.md (~4,400 tokens) · this version ~2,330 tokens · JSON https://www.anchorterminal.com/compare/photon-vs-ycloud.json · canonical https://www.anchorterminal.com/compare/photon-vs-ycloud
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

YCloud scores 64.8 (B) on agent readiness against Photon's 53.2 (D), and leads in 5 of 7 scored categories. Both do sms.

- Photon: D 53.2, rank #950 of 1486 · https://www.anchorterminal.com/tools/photon.min.md
- YCloud: B 64.8, rank #455 of 1486 · https://www.anchorterminal.com/tools/ycloud.min.md
- Photon, good for Agents that talk to people over iMessage, with WhatsApp Business, Telegram and SIP voice on the same agent loop in TypeScript.
- YCloud, good for WhatsApp-first businesses that also want SMS, email and OTP from one API, with an inbox for people. Ahead on Reliability, 79 against 67; Schema & documentation, 90 against 75; Agent ergonomics, 83 against 63; Payments & pricing, 35 against 20. Also Free to start without a card.

| Category | Photon | YCloud |
| --- | --- | --- |
| Reliability (16%) | 67 | 79 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 75 | 90 |
| Agent ergonomics (13%) | 63 | 83 |
| Security & auth (14%) | 29 | 31 |
| Payments & pricing (10%) | 20 | 35 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 78 | 74 |
| Transparency & trust (7%) | 57 | 53 |

| Fact (where they differ) | Photon | YCloud |
| --- | --- | --- |
| Kind | SDK + MCP | HTTP API |
| Vendor | Photon | YCloud International Pte. Ltd. |
| Hosted endpoint | `https://spectrum.photon.codes` | `https://api.ycloud.com/v2` |
| Licence | Proprietary hosted service under Something Great Inc.'s terms of service. The spectrum-ts SDK and its provider packages, imessage-kit, the CLI and the Photon 2.0 API clients are MIT | Proprietary service under YCloud's terms of service. The Node.js SDK is MIT |
| Last release | 2026-10-22 | 2026-11-03 |
| Terms last updated | no date given | 2026-09-03 |
| Privacy policy last updated | 2026-09-25 | 2026-04-03 |
| Terms restrict automated access | yes | not found in the text |
| Arbitration or class-action waiver | yes | not found in the text |
| Popularity | 107k npm/wk | none |
| Agent reviews | 2.8/5 (4) | none |

Why the edge:
- Agent ergonomics, YCloud +20: Photon 63 (Read for the TypeScript SDK an agent server runs. One async message stream for every provider, one send call per space and environment fallbacks keep the code small. Management responses can't be sized beyond list limits (17 of 25). The user and template lists take `limit` with `offset` or cursors and filters, while the other lists take none (12 of 20). API errors return a status code with `{ succeed, message }`, `SpectrumCloudError` carries `status` and `code`, and unsupported operations throw `UnsupportedError`. No error-code catalogue for Stable was found (13 of 20). The recovery guide has callers set stable `clientGuid` values that the transport deduplicates, the advanced iMessage kit takes a `clientMessageId`, and webhooks are at-least-once with dedupe guidance. Spectrum API writes take no idempotency key (13 of 20). `imessage.config()` with no arguments discovers lines and renews tokens, but Stable has one official SDK language, TypeScript (8 of 15). 17 + 12 + 13 + 13 + 8 = 63.); YCloud 83 (List endpoints use a documented pagination guide with limits; send responses are small (18 of 25). Pagination and filters (18 of 20). Error bodies with `code`, `target`, `docUrl` and `requestId`, and Meta's own error preserved in `whatsappApiError` (20). `externalId` on supported sends and a warning that a repeated POST can send twice; no idempotency key header (12 of 20). A send needs a recipient and content; official SDKs for Node.js, Java, Go and PHP (15). 18 + 18 + 20 + 12 + 15 = 83.)
- Schema & documentation, YCloud +15: Photon 75 (Read for the Stable surface. Public OpenAPI 3.1 documents for the Spectrum API (54 operations) and the Dashboard API, and TypeScript declarations for the SDK. Sending runs over gRPC inside the SDK with no public contract, and the Spectrum OpenAPI declares no security scheme (18 of 25). llms.txt, llms-full.txt, a Markdown twin of every page and a documentation MCP server (10). The docs say when to use the API (management) and when the SDK (runtime messaging), and the deliverability guide lists what to do and avoid (16 of 20). Config is validated with zod, spaces and services carry enums, and the OpenAPI request bodies are typed (12 of 15). TypeScript examples on every page, signature verifiers in four languages, a response code table for the API and documented SDK error classes (13 of 15). spectrum-ts follows semver and reached 12.14.0 on 22 October 2026 (tags in the clone), but no Stable changelog was readable. The weekly updates index (entries from 10 September to 15 October 2026 on 4 November) carries announcements, not an SDK or API changelog, and GitHub release pages are closed to our reader (6 of 15). 18 + 10 + 16 + 12 + 13 + 6 = 75.); YCloud 90 (OpenAPI 3.0 file for API v2 (45 paths) and a legacy v1 file, public on docs.ycloud.com (25). llms.txt and Markdown pages (10). Guides say when to use queued or direct WhatsApp sends and what a send response doesn't prove (17 of 20). 238 enums in the spec (14 of 15). Curl examples, webhook payload examples per event, and an error catalogue with an action for each code (15). v1 and v2 are separate; no API changelog in the docs, and the SDK changelog records releases (9 of 15). 25 + 10 + 17 + 14 + 15 + 9 = 90.)
- Payments & pricing, YCloud +15: Photon 20 (No x402, MPP or L402 (0). Plan prices are public. Free at $0 for up to 10 users, Pro at $25 a month for up to 100, Business at $250 per dedicated line a month and Enterprise on request, with no per-message fee for iMessage (10 of 20). A $0 Free plan exists, but whether it needs a card wasn't established, and the terms limit use 'on a free or trial basis' to internal evaluation (10 of 20). A person signs up in the dashboard, and the CLI's device login needs approval in a browser (0). 0 + 10 + 10 + 0 = 20.); YCloud 35 (No x402, MPP or L402 (0). Plan prices public, WhatsApp at Meta's rate with no markup and email at $0.001 each; per-country WhatsApp rates sit in a calculator we didn't read (15 of 20). The Free plan includes the messaging API with no card (20). A person signs up and connects a WhatsApp Business Account in a browser (0). 0 + 15 + 20 + 0 = 35.)
- Reliability, YCloud +12: Photon 67 (Read with the hosted lines for Spectrum Cloud, the managed lines the SDK connects to. status.photon.codes runs on incident.io with components for the Spectrum API, webhook delivery, billing, each iMessage plan and the Mac nodes (20). In the window from 6 August 2026 it records one full outage, iMessage on every plan for 2 hours 7 minutes on 2 September after a power failure at Photon's data centre. It also records an 8-minute partial Spectrum API outage on 7 August (out of memory), a 9-minute error spike on the Spectrum API on 22 August, about an hour of failed RCS sends on 9 October, Mac-node incidents on 16 October (a 40-minute partial outage, then degraded performance) and 29 October (5 minutes of full outage, 8 minutes partial, then degraded until 16:26 UTC) on the Macrocosm Mac Nodes component alone, and many automated 'macOS clusters were encountering degraded performance' entries. Single-component incidents read as minor (10 of 30). Rate limits with numbers, 5 requests a second per project on the Spectrum API, 5,000 messages per server a day and 50 new conversations per line a day (15). The rate-limit page says excess requests get a 429, with no Retry-After or 429 handling. The API docs say 5xx is safe to retry with backoff, and the recovery guide gives stable `clientGuid` values for deduplicating retried sends. Safe-retry guidance with no 429 guidance or idempotency key on the Spectrum API takes the settled 12 (was 10 of 15). No SLA document. The pricing page names a contractual SLA only for Enterprise, with no figure or document, and the terms disclaim delivery and uninterrupted service. A listed SLA nobody can read gives 0 (was 3 of 10). The Stable product is generally available (10). 20 + 10 + 15 + 12 + 0 + 10 = 67.); YCloud 79 (Read with the hosted lines. status.ycloud.com lists components including REST API, Webhook, Inbox and WhatsApp Official API, with history (20). From 8 August to 6 November its feed records two incidents labelled major, an inbox outage on 15 September (about 1 hour 49 minutes) and elevated dashboard errors on 5 November (44 minutes); neither names the REST API, so they're read as incidents outside the API (20). Limits with numbers per endpoint, account and sender (15). 429s carry Retry-After with RateLimit headers on most responses, and the docs give backoff and an `externalId` for safe resends where the schema supports it (14 of 15). No SLA; the terms say availability can't be guaranteed (0). API v2 is generally available (10). 20 + 20 + 15 + 14 + 0 + 10 = 79.)
