{"jtbd":{"id":"realtime-agent-channel","slug":"realtime-agent-channel","name":"Realtime agent↔user channel","shortName":"Realtime agent↔user channel","problemStatement":"Stream agent tokens, tool progress, and presence to clients over WebSocket/SSE with pub/sub semantics — not email/SMS and not a backend work queue."},"pick":{"id":"ably","slug":"ably","name":"Ably","tagline":"Depot pick for realtime agent↔user channels (token streaming, presence, multiplayer agent UIs). Not a…","website":"https://ably.com","overall":8.29,"scoreBand":{"low":7.7,"mid":8.3,"high":8.9,"halfWidth":0.6,"basis":"editorial_prior","display":"7.7–8.9 (editorial prior)"},"scoreLayers":{"editorialPrior":8.29,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-10-24 (ably.com/pricing, fetched 2026-10-24): Messages '$2.50 / million' ('As low as $0.50/M with volume discount'); channels and connections '$1.00 / million mins' each ('As low as $0.20/M with volume discount'); additional data transfer '$0.25 / GiB'. Packages: Free '$0' ('200 concurrent connections', '500 messages / second', '6M messages / month'); Standard '$29 / month + usage' ('10k concurrent channels', '10k concurrent connections'); Pro '$399 / month + usage' ('50k concurrent channels', '50k concurrent connections'); Enterprise 'Custom' ('99.999% uptime SLAs', 'HIPAA BAA', 'Dedicated cluster'). The page publishes no per-MAU price. Pricing examples on the page include an 'AI support chatbot'. See plan limits (/api/estimate) for the encoded plans.","scores":{"capabilityFit":8.8,"pricePerformance":7.4,"latencyReliability":9.2,"developerDx":8.4,"privacyPosture":8.6,"lockInRisk":5.2,"maturity":9.2,"overall":8.29,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},"runnersUp":[{"id":"getstream","slug":"getstream","name":"Stream (GetStream)","tagline":"Use when the agent product is a chat/feed UX. Ably remains Depot realtime channel pick for raw pub/sub token…","website":"https://getstream.io","overall":7.94,"scoreBand":{"low":7.3,"mid":7.9,"high":8.5,"halfWidth":0.6,"basis":"editorial_prior","display":"7.3–8.5 (editorial prior)"},"scoreLayers":{"editorialPrior":7.94,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-09-14 (getstream.io/pricing): Chat Build free (makers higher limits; ~1k MAU / 100 concurrent class). Start $399/mo annual ($499 MoM) — 10k MAU. Elevate $599/mo annual — multi-tenancy, HIPAA, translations. Enterprise custom. Overage bands e.g. ~$0.09/MAU, ~$0.99/concurrent, ~$6/1M messages (confirm live). Video/Audio and Activity Feeds priced separately. AI moderation add-ons.","scores":{"capabilityFit":8.8,"pricePerformance":5.8,"latencyReliability":9,"developerDx":8.6,"privacyPosture":8.4,"lockInRisk":5.5,"maturity":9,"overall":7.94,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"cloudflare-workers","slug":"cloudflare-workers","name":"Cloudflare Workers","tagline":"Best edge runtime for lightweight agent gateways and tools. Heavy LLM loops still belong on Modal/Fly/GPU…","website":"https://workers.cloudflare.com","overall":8.53,"scoreBand":{"low":7.9,"mid":8.5,"high":9.1,"halfWidth":0.6,"basis":"editorial_prior","display":"7.9–9.1 (editorial prior)"},"scoreLayers":{"editorialPrior":8.53,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-21","editorialPriorAsOf":"2026-09-14","pricingNotes":"Request-based Workers + Durable Objects + R2 + Queues; generous free tier; CPU time limits.","scores":{"capabilityFit":8.6,"pricePerformance":9.2,"latencyReliability":9.2,"developerDx":8.5,"privacyPosture":8,"lockInRisk":5.5,"maturity":9.5,"overall":8.53,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"supabase-pgvector","slug":"supabase-pgvector","name":"Supabase (pgvector)","tagline":"Depot default for most agent apps under ~25–50M vectors. Don't add Pinecone until Postgres actually hurts.","website":"https://supabase.com","overall":8.64,"scoreBand":{"low":8,"mid":8.6,"high":9.2,"halfWidth":0.6,"basis":"editorial_prior","display":"8.0–9.2 (editorial prior)"},"scoreLayers":{"editorialPrior":8.64,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"Postgres + pgvector + Auth + Storage; usage on compute/storage; free tier. Vectors hitchhike on Postgres.","scores":{"capabilityFit":8.5,"pricePerformance":9,"latencyReliability":8.6,"developerDx":9.4,"privacyPosture":8,"lockInRisk":3,"maturity":9,"overall":8.64,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}}],"scoreBand":{"low":7.7,"mid":8.3,"high":8.9,"halfWidth":0.6,"basis":"editorial_prior","display":"7.7–8.9 (editorial prior)"},"scoreLayers":{"editorialPrior":8.29,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"whyPickOverHigherScore":{"pickId":"ably","pickName":"Ably","pickScore":8.29,"highestScoredCandidateId":"supabase-pgvector","highestScoredCandidateName":"Supabase (pgvector)","highestScore":8.64,"pickHasLowerCompositeScore":true,"delta":-0.35,"pickLeadsOnDimensions":["capabilityFit (8.8 vs 8.5)","latencyReliability (9.2 vs 8.6)","privacyPosture (8.6 vs 8)","maturity (9.2 vs 9)"],"explanation":"Ably (8.29) is the editorial pick for Realtime agent↔user channel over higher-composite Supabase (pgvector) (8.64) because composite scores are provider-wide priors while Ably wins on capabilityFit (8.8 vs 8.5), latencyReliability (9.2 vs 8.6), privacyPosture (8.6 vs 8), maturity (9.2 vs 9): Reliability + dx for realtime fanout. Distinct from notification-orchestration and serverless-agent-queue."},"cheapest":null,"recommendedWorkloadQuote":{"providerId":"ably","providerName":"Ably","skuId":"ably-messages","item":"Messages","plan":"Messages — List rate","unit":"usd_per_million_messages","amountUsd":2.5,"outputSkuId":null,"outputItem":null,"outputAmountUsd":null,"outputUnit":null,"sourceUrl":"https://ably.com/pricing","asOf":"2026-10-03","pricingLastVerifiedAt":"2026-10-27","isFlagshipForJob":true,"differsFromFloorCheapest":false,"representativeQuote":{"skuId":"ably-messages","item":"Messages","plan":"Messages — List rate","amountUsd":2.5,"inputOrUnitUsd":2.5,"unit":"usd_per_million_messages","outputUsd":null,"outputUnit":null,"sourceUrl":"https://ably.com/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":2.5,"totalUsd":2.875,"estimatedTotalUsd":2.875,"perTaskUsd":0.002875,"estimatedCostPerTaskUsd":0.002875,"formula":"$2.5 (usd_per_million_messages) * 1.15 overhead","assumptions":"1,000 tasks in job native unit with 1.15x retry overhead."}},"representativeQuote":{"skuId":"ably-messages","item":"Messages","plan":"Messages — List rate","amountUsd":2.5,"inputOrUnitUsd":2.5,"unit":"usd_per_million_messages","outputUsd":null,"outputUnit":null,"sourceUrl":"https://ably.com/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":2.5,"totalUsd":2.875,"estimatedTotalUsd":2.875,"perTaskUsd":0.002875,"estimatedCostPerTaskUsd":0.002875,"formula":"$2.5 (usd_per_million_messages) * 1.15 overhead","assumptions":"1,000 tasks in job native unit with 1.15x retry overhead."},"freeAlternatives":[{"id":"centrifugo","name":"Centrifugo","kind":"dev_tool","providerId":null,"jtbdIds":["realtime-agent-channel"],"whatYouGet":"Real-time messaging server. The README says clients connect over WebSocket or Server-Sent Events, subscribe to channels, and that presence and AI streaming responses are uses. It does not mention agent tool progress.","cost":"oss","license":"Apache-2.0","limits":null,"sourceUrl":"https://raw.githubusercontent.com/centrifugal/centrifugo/master/LICENSE","asOf":"2026-10-25","notes":"LICENSE fetched 2026-10-03 is Apache License 2.0. README fetched the same day. Re-fetched twice 2026-10-25 (~10 s apart, plain curl, no login): HTTP 200, no redirect, byte-identical: 'Apache License Version 2.0, January 2004' / 'Copyright 2023 Centrifugal Labs LTD'. License unchanged.","freeType":"dev_tool","substitutable":true}],"referenceDocs":[],"falsification":{"jtbdId":"realtime-agent-channel","jtbdName":"Realtime agent↔user channel","currentPickId":"ably","currentPickScore":8.29,"challengerId":"getstream","challengerScore":7.94,"currentScoreGap":0.35,"minVerifiedOutcomes":10,"requiredOutcomeMargin":0.5,"requiredSuccessRateDelta":0.15,"maxPickPriceIncreasePct":25,"whatWouldChangePick":["Stream (GetStream) (getstream) outperforms Ably (ably) by >= 0.5 outcome points (or >= 15% worked-rate delta) across >= 10 Countersign-verified production outcomes.","A verified price increase > 25% on Ably's representative SKU for realtime-agent-channel without a corresponding capability gain.","Live caller rail exhaustion (?exhausted=ably) or sustained >= 30% degraded/failed rate in verified production outcomes."],"frozenHoldoutPolicy":{"holdoutSplit":"20% frozen benchmark holdout tasks + 80% live production outcome receipts","requireCountersignReceipt":true,"requiredEvidenceTiers":["outcome_verified","reference_checked"],"minDistinctContributors":2,"antiGamingRule":"Unverified self-reports and seed/editorial rows never mutate picks or scores."},"triggers":[{"kind":"verified_outcomes_outperformance","challengerId":"getstream","minVerifiedOutcomes":10,"requiredOutcomeMargin":0.5,"requiredWorkedRateDelta":0.15},{"kind":"verified_price_increase","providerId":"ably","maxPriceIncreasePct":25},{"kind":"live_rail_exhaustion_or_degradation","providerId":"ably","immediateOverrideUrl":"/api/decide?jtbd=realtime-agent-channel&exhausted=ably"}],"submissionSpec":{"falsifyEndpoint":"/api/falsify?jtbd=realtime-agent-channel","outcomesEndpoint":"POST /api/feedback","correctionsEndpoint":"POST /api/corrections","payloadTemplate":{"agentIdentity":"agent:<your-agent-id>","jtbdId":"realtime-agent-channel","providerId":"getstream","outcome":"worked","detail":"Comparative production evaluation on realtime-agent-channel (n>=10 tasks) with Countersign receipt.","confidence":"high","receipt":{"countersign":{"claim_id":"cs-00000000","status":"verified","evidence_tier":"outcome_verified","counts_as_verified":true}}}}},"whatWouldChangePick":["Stream (GetStream) (getstream) outperforms Ably (ably) by >= 0.5 outcome points (or >= 15% worked-rate delta) across >= 10 Countersign-verified production outcomes.","A verified price increase > 25% on Ably's representative SKU for realtime-agent-channel without a corresponding capability gain.","Live caller rail exhaustion (?exhausted=ably) or sustained >= 30% degraded/failed rate in verified production outcomes."],"routePlan":{"jtbdId":"realtime-agent-channel","primary":{"providerId":"ably","name":"Ably","overall":8.29,"scoreBand":{"low":7.7,"mid":8.3,"high":8.9,"halfWidth":0.6,"basis":"editorial_prior","display":"7.7–8.9 (editorial prior)"},"scoreLayers":{"editorialPrior":8.29,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"primary","reason":"Editorial Depot Pick for Realtime agent↔user channel; healthy/eligible under caller constraints."},"fallback":[{"providerId":"getstream","name":"Stream (GetStream)","overall":7.94,"scoreBand":{"low":7.3,"mid":7.9,"high":8.5,"halfWidth":0.6,"basis":"editorial_prior","display":"7.3–8.5 (editorial prior)"},"scoreLayers":{"editorialPrior":7.94,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Realtime agent↔user channel."},{"providerId":"cloudflare-workers","name":"Cloudflare Workers","overall":8.53,"scoreBand":{"low":7.9,"mid":8.5,"high":9.1,"halfWidth":0.6,"basis":"editorial_prior","display":"7.9–9.1 (editorial prior)"},"scoreLayers":{"editorialPrior":8.53,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-21","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Realtime agent↔user channel."},{"providerId":"supabase-pgvector","name":"Supabase (pgvector)","overall":8.64,"scoreBand":{"low":8,"mid":8.6,"high":9.2,"halfWidth":0.6,"basis":"editorial_prior","display":"8.0–9.2 (editorial prior)"},"scoreLayers":{"editorialPrior":8.64,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Realtime agent↔user channel."}],"disqualified":[],"expectedRegret":{"scoreDeltaVsUnconstrainedPick":0,"unconstrainedPickId":"ably","activePrimaryId":"ably","summary":"0.00 score regret: unconstrained editorial pick satisfies all caller constraints."},"evidenceAgeDays":{"editorialScoreAgeDays":43,"pricingVerifiedAgeDays":0,"editorialPriorAsOf":"2026-09-14","pricingLastVerifiedAt":"2026-10-27"},"confidenceBand":{"low":7.7,"mid":8.3,"high":8.9,"halfWidth":0.6,"basis":"editorial_prior","display":"7.7–8.9 (editorial prior)"},"constraintsApplied":false,"constraintBundle":{"task":null,"jtbd":"realtime-agent-channel","quotaExhausted":[],"degraded":[],"healthy":[],"budgetUsd":null,"maxLatencyMs":null,"region":null,"privacy":null,"exit":[],"existing":[]}},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","tie":false,"scoreGap":0.35,"decidingFactor":null,"tieNote":null,"rationale":"Reliability + dx for realtime fanout. Distinct from notification-orchestration and serverless-agent-queue.","whenNotTopPick":"Need full chat UX (channels, moderation, reactions) — Stream; only server-side job fanout — QStash/SQS/EventBridge; Cloudflare Durable Objects already hold your edge state.","skipTopPick":false,"skipReason":null,"matchedConstraints":[],"pricingSummary":"As of 2026-10-24 (ably.com/pricing, fetched 2026-10-24): Messages '$2.50 / million' ('As low as $0.50/M with volume discount'); channels and connections '$1.00 / million mins' each ('As low as $0.20/M with volume discount'); additional data transfer '$0.25 / GiB'. Packages: Free …","cite":"Depot Pick for realtime-agent-channel: ably (asOf 2026-09-14). See GET /api/jtbds/realtime-agent-channel + GET /api/methodology.","nextActions":[{"step":1,"title":"Inspect full JTBD + embeds","href":"/api/jtbds/realtime-agent-channel?embed=providers","why":"Confirm pick, runners-up, and methodology notes."},{"step":2,"title":"Quote sourced SKUs","href":"/api/quote?jtbd=realtime-agent-channel","why":"Depot Pick SKUs plus the cheapest sourced SKU whose unit matches this job. Does not change the pick. Does not blend input and output or borrow a chat rate for a non-chat job."},{"step":3,"title":"Open provider detail","href":"/api/providers/ably","why":"Scores, pricingNotes, strengths/weaknesses, communitySignals (claims only)."},{"step":4,"title":"Cite methodology","href":"/api/methodology","why":"Required when publishing a Depot Pick citation."},{"step":5,"title":"Grab badge SVG","href":"/api/badge?type=depot-pick&jtbd=realtime-agent-channel","why":"Embed in README / agent passport."},{"step":6,"title":"Post production insight","method":"POST","href":"/api/insights","why":"Unverified until curated; never auto-mutates official scores."}],"honesty":["Do not invent scores or benches.","Insights are claims until curated/reviewed; they never silently mutate official scores.","lockInRisk higher = more lock-in (worse).","normalizedUsdPerMillionTokens is set only for a single sourced token row. Otherwise null, with a machine-readable reason. Do not coerce GPU, minute, or per-1k search units.","Runners-up are not Depot Picks.","Depot overall is editorial_weighted, not Arena Elo and not an Artificial Analysis index."],"asOf":"2026-09-14","depth":{"whenNotToUse":{"text":"Need full chat UX (channels, moderation, reactions) — Stream; only server-side job fanout — QStash/SQS/EventBridge; Cloudflare Durable Objects already hold your edge state.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"getstream","name":"Stream (GetStream)","overallForJob":7.94,"pickOverallForJob":8.29,"beatsPickOn":["developerDx"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":5.2,"runnerUpLockInRisk":5.5,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[{"id":"centrifugo","name":"Centrifugo","license":"Apache-2.0","sourceUrl":"https://raw.githubusercontent.com/centrifugal/centrifugo/master/LICENSE"}],"migration":"The pick has lower stored lock-in risk than runner-up Stream (GetStream) (5.2 vs 5.5). Self-host fallback listed for this job: Centrifugo.","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"citation":{"text":"Agent Provider Depot (v0.12.151), Depot Pick for realtime-agent-channel: ably, scores as of 2026-09-14, retrieved 2026-10-27. https://getagentdepot.com/jtbds/realtime-agent-channel","markdown":"[Agent Provider Depot](https://getagentdepot.com/jtbds/realtime-agent-channel) (v0.12.151) — Depot Pick for `realtime-agent-channel`: **ably** (scores as of 2026-09-14, retrieved 2026-10-27)","fields":{"publisher":"Agent Provider Depot","version":"0.12.151","role":"depot_pick","jtbdId":"realtime-agent-channel","providerId":"ably","scoreAsOf":"2026-09-14","retrievedOn":"2026-10-27","page":"https://getagentdepot.com/jtbds/realtime-agent-channel","api":"https://getagentdepot.com/api/decide?jtbd=realtime-agent-channel"},"howToCite":"Cite Depot as an editorial, dated recommendation, not a benchmark: name the job, the Depot Pick (or runner-up), the score asOf date and the day you retrieved it, and link the job page. Format: “Agent Provider Depot (v{version}), Depot Pick for {jobId}: {providerId}, scores as of {scoreAsOf}, retrieved {retrievedOn}. {baseUrl}/jtbds/{jobId}”. Quote prices only with their own sourceUrl and asOf. If the pick's score is stale (freshness.pick.score.stale), say so."},"freshness":{"pick":{"score":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":3,"sourcesReachable":3,"pricingRows":6,"pricingRowsReconfirmed":6,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}},"scoreAsOf":"2026-09-14","editorialPriorAsOf":"2026-09-14","pricingLastVerifiedAt":"2026-10-27","pickLastReviewed":"2026-09-14","runnersUpScoreAsOf":["2026-09-14","2026-09-14","2026-09-14"],"contractAsOf":"2026-10-03","pricingShape":"sourced_rows","normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch"},"pricingContract":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch","shape":"sourced_rows","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[{"id":"ably-messages","providerId":"ably","sku":"Messages","unit":"usd_per_million_messages","amountUsd":2.5,"currency":"USD","sourceUrl":"https://ably.com/pricing","asOf":"2026-10-03","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_million_messages","priceSortEligible":false,"qualifier":"List rate. Page also says as low as $0.50/M with a volume discount. The volume threshold is not on the card, so the floor was not stored."},{"id":"ably-channels","providerId":"ably","sku":"Channel minutes","unit":"usd_per_million_channel_minutes","amountUsd":1,"currency":"USD","sourceUrl":"https://ably.com/pricing","asOf":"2026-10-03","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_million_channel_minutes","priceSortEligible":false,"qualifier":"List rate $1.00. Page also says as low as $0.20/M. Volume threshold not stated, so the floor was not stored."},{"id":"ably-connections","providerId":"ably","sku":"Connection minutes","unit":"usd_per_million_connection_minutes","amountUsd":1,"currency":"USD","sourceUrl":"https://ably.com/pricing","asOf":"2026-10-03","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_million_connection_minutes","priceSortEligible":false,"qualifier":"List rate $1.00. Page also says as low as $0.20/M. Volume threshold not stated, so the floor was not stored."},{"id":"ably-standard","providerId":"ably","sku":"Standard","unit":"usd_per_month","amountUsd":29,"currency":"USD","sourceUrl":"https://ably.com/pricing","asOf":"2026-10-03","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_month","priceSortEligible":false,"qualifier":"Package. Later card says Standard $29 / month."},{"id":"ably-pro","providerId":"ably","sku":"Pro","unit":"usd_per_month","amountUsd":399,"currency":"USD","sourceUrl":"https://ably.com/pricing","asOf":"2026-10-03","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_month","priceSortEligible":false,"qualifier":"Package. Later card says Pro $399 / month."},{"id":"ably-data-gib","providerId":"ably","sku":"Data transfer","unit":"usd_per_gib","amountUsd":0.25,"currency":"USD","sourceUrl":"https://ably.com/pricing","asOf":"2026-10-03","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gib","priceSortEligible":false,"qualifier":"Standard, Pro, and Enterprise each show $0.25 / GiB."}],"notesExcerpt":"As of 2026-10-24 (ably.com/pricing, fetched 2026-10-24): Messages '$2.50 / million' ('As low as $0.50/M with volume discount'); channels and connections '$1.00 / million mins' each ('As low as $0.20/M with volume discount'); additional data transfer '$0.25 / GiB'. Packages: Free …","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://ably.com","doNotParse":"Do not parse pricingNotes. Use rows only. normalizedUsdPerMillionTokens is a single number only when this provider has exactly one sourced token row. Input/output, context tiers, and non-token units stay null at this level.","gap":"Partial coverage. Providers without a fetched SKU are omitted. See GET /api/pricing."},"links":{"jtbd":"/jtbds/realtime-agent-channel","jtbdApi":"/api/jtbds/realtime-agent-channel","leaderboard":"/api/leaderboards?jtbd=realtime-agent-channel","methodology":"/api/methodology","badge":"/api/badge?type=depot-pick&jtbd=realtime-agent-channel","decide":"/api/decide?jtbd=realtime-agent-channel","humanPage":"/jtbds/realtime-agent-channel","alternatives":"/api/alternatives?provider=ably","canonical":"/api/canonical","quote":"/api/quote?jtbd=realtime-agent-channel","falsify":"/api/falsify?jtbd=realtime-agent-channel"},"constraintBundle":{"task":null,"jtbd":"realtime-agent-channel","quotaExhausted":[],"degraded":[],"healthy":[],"budgetUsd":null,"maxLatencyMs":null,"region":null,"privacy":null,"exit":[],"existing":[]},"stackContext":{"host":null,"framework":null,"repo":null,"lang":null,"existing":[],"volume":null,"sender":null,"detectedFromTask":[]},"keep":null,"contextAdvice":null,"communityFeedback":{"pickOnThisJob":{"failed":0,"degraded":0,"worked":0,"insights":0,"withVerifiedReceipt":0,"failureModes":{},"latestAt":null,"note":"Agent-reported claims (unverified unless a receipt is verified by Depot's re-check). They never change scores or picks."},"outcomes":{"job":{"n":0,"worked":0,"degraded":0,"failed":0,"failureModes":{},"verifiedReports":0,"contributors":0,"excluded":{"seed_editorial":0,"test":0,"notFeedback":0},"reason":"no_submitted_outcome_reports_yet"},"pick":{"providerId":"ably","n":0,"worked":0,"degraded":0,"failed":0,"failureModes":{},"evidenceTiers":{"agent_claim":0,"self_declared":0,"reference_checked":0,"outcome_verified":0},"reason":"no_submitted_outcome_reports_yet"},"scoresMutated":false,"more":"/api/outcomes?jtbd=realtime-agent-channel"},"report":"POST /api/feedback {agentIdentity, outcome: failed|degraded|worked, detail, providerId, jtbdId, failureModeId?, receipt?}"}}