{"subject":{"id":"aws-ec2","slug":"aws-ec2","name":"AWS EC2","tagline":"Default enterprise VM substrate. Agents should wrap it — humans shouldn't live in the console.","website":"https://aws.amazon.com/ec2/","status":"active","overall":8.01,"scoreKind":"curated_estimate","confidence":"high","scoreAsOf":"2026-09-14","lastReviewed":"2026-09-14","categoryIds":["cat-cpu-compute"],"regions":["global"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price","shape":"prose_notes_only","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[],"notesExcerpt":"Broadest instance catalog; Spot/Savings Plans; everything else in AWS orbits EC2.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://aws.amazon.com/ec2/","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":"No sourced price row for this provider. pricingNotes stay prose. See research/gaps.md."}},"relatedJtbdSlugs":["agent-backend","cheap-vms","enterprise-compute","postgres-vector"],"alternatives":[{"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","status":"active","overall":8.64,"scoreKind":"curated_estimate","confidence":"high","scoreAsOf":"2026-09-14","deltaOverallVsSubject":0.63,"roles":["same_jtbd_pick"],"sharedJtbdSlugs":["postgres-vector"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price","shape":"prose_notes_only","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[],"notesExcerpt":"Postgres + pgvector + Auth + Storage; usage on compute/storage; free tier. Vectors hitchhike on Postgres.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://supabase.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":"No sourced price row for this provider. pricingNotes stay prose. See research/gaps.md."},"decideHint":"/api/decide?jtbd=postgres-vector","human":"/providers/supabase-pgvector","compare":"/compare/aws-ec2-vs-supabase-pgvector"},{"id":"modal","slug":"modal","name":"Modal","tagline":"Depot darling for Python agent backends and bursty GPU jobs. If you think in functions not VMs, start here.","website":"https://modal.com","status":"active","overall":8.44,"scoreKind":"curated_estimate","confidence":"high","scoreAsOf":"2026-10-19","deltaOverallVsSubject":0.43,"roles":["same_jtbd_pick"],"sharedJtbdSlugs":["agent-backend"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch","shape":"sourced_rows","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[{"id":"modal-nvidia-b300-usd-per-gpu-second","providerId":"modal","sku":"Nvidia B300","unit":"usd_per_gpu_second","amountUsd":0.001972,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_second","priceSortEligible":false,"qualifier":"Per-second rate shown with the per-second toggle. Not multiplied into an hour. Reconfirmed 2026-10-27 (v0.12.140): page also says 'Region selection 1.15 - 1.75x base prices' and 'Non-preemptible execution 3x base prices' (not stored as separate rows)."},{"id":"modal-nvidia-b200-usd-per-gpu-second","providerId":"modal","sku":"Nvidia B200","unit":"usd_per_gpu_second","amountUsd":0.001736,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_second","priceSortEligible":false,"qualifier":"Per-second rate shown with the per-second toggle. Not multiplied into an hour. Reconfirmed 2026-10-27 (v0.12.140): page also says 'Region selection 1.15 - 1.75x base prices' and 'Non-preemptible execution 3x base prices' (not stored as separate rows)."},{"id":"modal-nvidia-h200-sxm-usd-per-gpu-second","providerId":"modal","sku":"Nvidia H200 SXM","unit":"usd_per_gpu_second","amountUsd":0.001261,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_second","priceSortEligible":false,"qualifier":"Per-second rate shown with the per-second toggle. Not multiplied into an hour. Reconfirmed 2026-10-27 (v0.12.140): page also says 'Region selection 1.15 - 1.75x base prices' and 'Non-preemptible execution 3x base prices' (not stored as separate rows)."},{"id":"modal-nvidia-h100-sxm5-usd-per-gpu-second","providerId":"modal","sku":"Nvidia H100 SXM5","unit":"usd_per_gpu_second","amountUsd":0.001097,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_second","priceSortEligible":false,"qualifier":"Per-second rate shown with the per-second toggle. Not multiplied into an hour. Reconfirmed 2026-10-27 (v0.12.140): page also says 'Region selection 1.15 - 1.75x base prices' and 'Non-preemptible execution 3x base prices' (not stored as separate rows)."},{"id":"modal-nvidia-rtx-pro-6000-usd-per-gpu-second","providerId":"modal","sku":"Nvidia RTX PRO 6000","unit":"usd_per_gpu_second","amountUsd":0.000842,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_second","priceSortEligible":false,"qualifier":"Per-second rate shown with the per-second toggle. Not multiplied into an hour. Reconfirmed 2026-10-27 (v0.12.140): page also says 'Region selection 1.15 - 1.75x base prices' and 'Non-preemptible execution 3x base prices' (not stored as separate rows)."},{"id":"modal-nvidia-a100-80gb-usd-per-gpu-second","providerId":"modal","sku":"Nvidia A100 80GB","unit":"usd_per_gpu_second","amountUsd":0.000694,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_second","priceSortEligible":false,"qualifier":"Per-second rate shown with the per-second toggle. Not multiplied into an hour. Reconfirmed 2026-10-27 (v0.12.140): page also says 'Region selection 1.15 - 1.75x base prices' and 'Non-preemptible execution 3x base prices' (not stored as separate rows)."},{"id":"modal-nvidia-a100-40gb-usd-per-gpu-second","providerId":"modal","sku":"Nvidia A100 40GB","unit":"usd_per_gpu_second","amountUsd":0.000583,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_second","priceSortEligible":false,"qualifier":"Per-second rate shown with the per-second toggle. Not multiplied into an hour. Reconfirmed 2026-10-27 (v0.12.140): page also says 'Region selection 1.15 - 1.75x base prices' and 'Non-preemptible execution 3x base prices' (not stored as separate rows)."},{"id":"modal-nvidia-l40s-usd-per-gpu-second","providerId":"modal","sku":"Nvidia L40S","unit":"usd_per_gpu_second","amountUsd":0.000542,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_second","priceSortEligible":false,"qualifier":"Per-second rate shown with the per-second toggle. Not multiplied into an hour. Reconfirmed 2026-10-27 (v0.12.140): page also says 'Region selection 1.15 - 1.75x base prices' and 'Non-preemptible execution 3x base prices' (not stored as separate rows)."},{"id":"modal-nvidia-a10-usd-per-gpu-second","providerId":"modal","sku":"Nvidia A10","unit":"usd_per_gpu_second","amountUsd":0.000306,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_second","priceSortEligible":false,"qualifier":"Per-second rate shown with the per-second toggle. Not multiplied into an hour. Reconfirmed 2026-10-27 (v0.12.140): page also says 'Region selection 1.15 - 1.75x base prices' and 'Non-preemptible execution 3x base prices' (not stored as separate rows)."},{"id":"modal-nvidia-l4-usd-per-gpu-second","providerId":"modal","sku":"Nvidia L4","unit":"usd_per_gpu_second","amountUsd":0.000222,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_second","priceSortEligible":false,"qualifier":"Per-second rate shown with the per-second toggle. Not multiplied into an hour. Reconfirmed 2026-10-27 (v0.12.140): page also says 'Region selection 1.15 - 1.75x base prices' and 'Non-preemptible execution 3x base prices' (not stored as separate rows)."},{"id":"modal-nvidia-t4-usd-per-gpu-second","providerId":"modal","sku":"Nvidia T4","unit":"usd_per_gpu_second","amountUsd":0.000164,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_second","priceSortEligible":false,"qualifier":"Per-second rate shown with the per-second toggle. Not multiplied into an hour. Reconfirmed 2026-10-27 (v0.12.140): page also says 'Region selection 1.15 - 1.75x base prices' and 'Non-preemptible execution 3x base prices' (not stored as separate rows)."},{"id":"modal-cpu-physical-core-usd-per-core-second","providerId":"modal","sku":"CPU physical core","unit":"usd_per_core_second","amountUsd":0.0000131,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_core_second","priceSortEligible":false,"qualifier":"Physical core (2 vCPU). Minimum 0.125 cores."},{"id":"modal-memory-usd-per-gib-second","providerId":"modal","sku":"Memory","unit":"usd_per_gib_second","amountUsd":0.00000222,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gib_second","priceSortEligible":false,"qualifier":"Container memory."},{"id":"modal-sandbox-cpu-usd-per-core-second","providerId":"modal","sku":"Sandbox CPU","unit":"usd_per_core_second","amountUsd":0.00003942,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_core_second","priceSortEligible":false,"qualifier":"Modal Sandbox rate (page: 'Modal Sandbox pricing', 'CPU (non-preemptible)'; 'Sandboxes are billed at non-preemptible rates of 3x list price'), separate from the default CPU rate."},{"id":"modal-sandbox-memory-usd-per-gib-second","providerId":"modal","sku":"Sandbox memory","unit":"usd_per_gib_second","amountUsd":0.00000667,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gib_second","priceSortEligible":false,"qualifier":"Sandbox memory (page: 'Memory (non-preemptible)' under 'Modal Sandbox pricing')."},{"id":"modal-volumes-usd-per-gib-month","providerId":"modal","sku":"Volumes","unit":"usd_per_gib_month","amountUsd":0.09,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gib_month","priceSortEligible":false,"qualifier":"Includes 1 TiB/mo free, not folded into this rate."},{"id":"modal-network-egress-usd-per-gib","providerId":"modal","sku":"Network egress","unit":"usd_per_gib","amountUsd":0.04,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gib","priceSortEligible":false,"qualifier":"See plan for included usage."},{"id":"modal-team-plan-usd-per-month","providerId":"modal","sku":"Team plan","unit":"usd_per_month","amountUsd":250,"currency":"USD","sourceUrl":"https://modal.com/pricing","asOf":"2026-10-27","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_month","priceSortEligible":false,"qualifier":"Plus compute. $100/mo credits not subtracted."}],"notesExcerpt":"As of 2026-10-24 (modal.com/pricing, fetched 2026-10-24): Python-native serverless GPU/CPU billed per second of compute ('You never pay for idle resources'). GPU list rates per second: H100 SXM5 '$0.001097', H200 SXM '$0.001261', B200 '$0.001736', A100 80 GB '$0.000694', L40S '$0…","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-10-19","scoreAsOf":"2026-10-19","website":"https://modal.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."},"decideHint":"/api/decide?jtbd=agent-backend","human":"/providers/modal","compare":"/compare/aws-ec2-vs-modal"},{"id":"hetzner","slug":"hetzner","name":"Hetzner","tagline":"When you need cheap always-on CPU in EU, start here. DIY the agent orchestration yourself.","website":"https://www.hetzner.com","status":"active","overall":8.2,"scoreKind":"curated_estimate","confidence":"high","scoreAsOf":"2026-09-14","deltaOverallVsSubject":0.19,"roles":["same_jtbd_pick"],"sharedJtbdSlugs":["cheap-vms"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price","shape":"prose_notes_only","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[],"notesExcerpt":"Very cheap cloud VMs and dedicated; auction servers; Object Storage; EU-strong.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://www.hetzner.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":"No sourced price row for this provider. pricingNotes stay prose. See research/gaps.md."},"decideHint":"/api/decide?jtbd=cheap-vms","human":"/providers/hetzner","compare":"/compare/aws-ec2-vs-hetzner"},{"id":"neon","slug":"neon","name":"Neon","tagline":"Excellent serverless Postgres for agent apps that want branching + pgvector without Supabase's full BaaS.","website":"https://neon.tech","status":"active","overall":8.59,"scoreKind":"curated_estimate","confidence":"high","scoreAsOf":"2026-09-14","deltaOverallVsSubject":0.58,"roles":["same_jtbd_runner"],"sharedJtbdSlugs":["postgres-vector"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch","shape":"sourced_rows","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[{"id":"neon-free-plan","providerId":"neon","sku":"Free plan","unit":"usd_per_month","amountUsd":0,"currency":"USD","sourceUrl":"https://neon.com/pricing","asOf":"2026-10-21","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_month","priceSortEligible":false,"qualifier":"Free $0: 100 projects, 100 CU-hrs monthly per project, 1 GB storage per project, sizes up to 2 CU (8 GB RAM), scale to zero after 5 minutes inactive. No credit card."},{"id":"neon-launch-compute","providerId":"neon","sku":"Launch compute","unit":"usd_per_cu_hour","amountUsd":0.106,"currency":"USD","sourceUrl":"https://neon.com/pricing","asOf":"2026-10-21","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_cu_hour","priceSortEligible":false,"qualifier":"Launch (usage-based) compute per CU-hour; sizes up to 16 CU."},{"id":"neon-launch-storage","providerId":"neon","sku":"Launch storage","unit":"usd_per_gb_month","amountUsd":0.35,"currency":"USD","sourceUrl":"https://neon.com/pricing","asOf":"2026-10-21","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gb_month","priceSortEligible":false,"qualifier":"Launch database storage per GB-month (Postgres storage, not object storage)."},{"id":"neon-scale-compute","providerId":"neon","sku":"Scale compute","unit":"usd_per_cu_hour","amountUsd":0.222,"currency":"USD","sourceUrl":"https://neon.com/pricing","asOf":"2026-10-21","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_cu_hour","priceSortEligible":false,"qualifier":"Scale (usage-based) compute per CU-hour; sizes up to 56 CU; SLAs, HIPAA, private network."}],"notesExcerpt":"Serverless Postgres with branching; pgvector supported; usage-based compute/storage.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://neon.tech","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."},"decideHint":"/api/decide?jtbd=postgres-vector","human":"/providers/neon","compare":"/compare/aws-ec2-vs-neon"},{"id":"fly-io","slug":"fly-io","name":"Fly.io","tagline":"Excellent for globally distributed agent sidecars and Machines-based sandboxes. Prefer Railway/Render if you…","website":"https://fly.io","status":"active","overall":8.28,"scoreKind":"curated_estimate","confidence":"high","scoreAsOf":"2026-09-14","deltaOverallVsSubject":0.27,"roles":["same_jtbd_runner"],"sharedJtbdSlugs":["agent-backend"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price","shape":"prose_notes_only","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[],"notesExcerpt":"Pay for machines/volumes/bandwidth; Firecracker VMs; scale-to-zero; Machines API for agents.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://fly.io","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":"No sourced price row for this provider. pricingNotes stay prose. See research/gaps.md."},"decideHint":"/api/decide?jtbd=agent-backend","human":"/providers/fly-io","compare":"/compare/aws-ec2-vs-fly-io"},{"id":"convex","slug":"convex","name":"Convex","tagline":"Great TS agent product backend when you want reactive state+actions together. Prefer Supabase/Neon when…","website":"https://www.convex.dev","status":"active","overall":8.15,"scoreKind":"curated_estimate","confidence":"high","scoreAsOf":"2026-09-14","deltaOverallVsSubject":0.14,"roles":["same_jtbd_runner"],"sharedJtbdSlugs":["agent-backend"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price","shape":"prose_notes_only","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[],"notesExcerpt":"As of 2026-09-14 (convex.dev/pricing): Free & Starter $0 + PAYG — 1–6 developers, included function calls/bandwidth with overages (~$2.20/1M function calls, action compute $0.33/GB-hr bands). Professional $25/developer/mo. Business & Enterprise from $2,500/mo minimum (SAML/SSO, S…","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://www.convex.dev","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":"No sourced price row for this provider. pricingNotes stay prose. See research/gaps.md."},"decideHint":"/api/decide?jtbd=agent-backend","human":"/providers/convex","compare":"/compare/aws-ec2-vs-convex"},{"id":"digitalocean","slug":"digitalocean","name":"DigitalOcean","tagline":"Classic simple cloud. Use for steady VMs and Spaces; pair Paperspace/RunPod for GPUs.","website":"https://www.digitalocean.com","status":"active","overall":8.15,"scoreKind":"curated_estimate","confidence":"high","scoreAsOf":"2026-09-14","deltaOverallVsSubject":0.14,"roles":["same_jtbd_runner"],"sharedJtbdSlugs":["cheap-vms"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price","shape":"prose_notes_only","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[],"notesExcerpt":"Droplets, App Platform, Spaces, Managed DBs, Paperspace GPUs; simple pricing.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://www.digitalocean.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":"No sourced price row for this provider. pricingNotes stay prose. See research/gaps.md."},"decideHint":"/api/decide?jtbd=cheap-vms","human":"/providers/digitalocean","compare":"/compare/aws-ec2-vs-digitalocean"},{"id":"render","slug":"render","name":"Render","tagline":"Boring reliable PaaS. Great when Railway feels too hip and AWS feels too heavy.","website":"https://render.com","status":"active","overall":8.1,"scoreKind":"curated_estimate","confidence":"high","scoreAsOf":"2026-09-14","deltaOverallVsSubject":0.09,"roles":["same_jtbd_runner"],"sharedJtbdSlugs":["agent-backend"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price","shape":"prose_notes_only","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[],"notesExcerpt":"Web services, background workers, Postgres, cron; fixed + usage elements; free tier limited.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://render.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":"No sourced price row for this provider. pricingNotes stay prose. See research/gaps.md."},"decideHint":"/api/decide?jtbd=agent-backend","human":"/providers/render","compare":"/compare/aws-ec2-vs-render"},{"id":"railway","slug":"railway","name":"Railway","tagline":"Depot favorite for shipping agent APIs quickly. When bills climb, move steady-state to Fly/Hetzner/DO.","website":"https://railway.app","status":"active","overall":8.08,"scoreKind":"curated_estimate","confidence":"high","scoreAsOf":"2026-09-14","deltaOverallVsSubject":0.07,"roles":["same_jtbd_runner"],"sharedJtbdSlugs":["agent-backend"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price","shape":"prose_notes_only","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[],"notesExcerpt":"Usage-based PaaS; services/databases; simple git deploys; hobby→pro plans.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://railway.app","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":"No sourced price row for this provider. pricingNotes stay prose. See research/gaps.md."},"decideHint":"/api/decide?jtbd=agent-backend","human":"/providers/railway","compare":"/compare/aws-ec2-vs-railway"},{"id":"gcp-compute","slug":"gcp-compute","name":"GCP Compute Engine","tagline":"Solid when you're already on GCP. Otherwise Hetzner/DO/Fly are faster paths for agents.","website":"https://cloud.google.com/products/compute","status":"active","overall":7.93,"scoreKind":"curated_estimate","confidence":"high","scoreAsOf":"2026-09-14","deltaOverallVsSubject":-0.08,"roles":["same_jtbd_runner"],"sharedJtbdSlugs":["enterprise-compute"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price","shape":"prose_notes_only","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[],"notesExcerpt":"Custom machine types; sustained use discounts; preemptible/Spot VMs.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://cloud.google.com/products/compute","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":"No sourced price row for this provider. pricingNotes stay prose. See research/gaps.md."},"decideHint":"/api/decide?jtbd=enterprise-compute","human":"/providers/gcp-compute","compare":"/compare/aws-ec2-vs-gcp-compute"},{"id":"oracle-gpu","slug":"oracle-gpu","name":"Oracle Cloud GPU","tagline":"Secret weapon for cheap cloud GPUs if you tolerate OCI quirks. Not the agent-native DX winner.","website":"https://www.oracle.com/cloud/compute/gpu/","status":"active","overall":7.65,"scoreKind":"curated_estimate","confidence":"medium","scoreAsOf":"2026-09-14","deltaOverallVsSubject":-0.36,"roles":["same_jtbd_runner"],"sharedJtbdSlugs":["cheap-vms"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch","shape":"sourced_rows","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[{"id":"oracle-gpu-h100","providerId":"oracle-gpu","sku":"BM.GPU.H100.8","unit":"usd_per_gpu_hour","amountUsd":10,"currency":"USD","sourceUrl":"https://www.oracle.com/cloud/compute/gpu/pricing/","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_hour","priceSortEligible":false,"qualifier":"Page lists the price per GPU per hour (not per instance)."},{"id":"oracle-gpu-h200","providerId":"oracle-gpu","sku":"BM.GPU.H200.8","unit":"usd_per_gpu_hour","amountUsd":10,"currency":"USD","sourceUrl":"https://www.oracle.com/cloud/compute/gpu/pricing/","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_hour","priceSortEligible":false,"qualifier":"Page lists the price per GPU per hour (not per instance)."},{"id":"oracle-gpu-a100-80gb","providerId":"oracle-gpu","sku":"BM.GPU.A100-v2.8 (A100 80GB)","unit":"usd_per_gpu_hour","amountUsd":4,"currency":"USD","sourceUrl":"https://www.oracle.com/cloud/compute/gpu/pricing/","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_hour","priceSortEligible":false,"qualifier":"Page lists the price per GPU per hour (not per instance)."},{"id":"oracle-gpu-l40s","providerId":"oracle-gpu","sku":"BM.GPU.L40S-NC.4","unit":"usd_per_gpu_hour","amountUsd":3.5,"currency":"USD","sourceUrl":"https://www.oracle.com/cloud/compute/gpu/pricing/","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_hour","priceSortEligible":false,"qualifier":"Page lists the price per GPU per hour (not per instance)."},{"id":"oracle-gpu-a10","providerId":"oracle-gpu","sku":"VM.GPU.A10.1","unit":"usd_per_gpu_hour","amountUsd":2,"currency":"USD","sourceUrl":"https://www.oracle.com/cloud/compute/gpu/pricing/","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gpu_hour","priceSortEligible":false,"qualifier":"Page lists the price per GPU per hour (not per instance)."}],"notesExcerpt":"As of 2026-09-14: OCI GPU instances with historically aggressive promotional pricing vs AWS/Azure/GCP; enterprise contracts and free-tier-adjacent CPU still part of the story. DX and marketplace friction remain the tradeoff vs RunPod/Lambda.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://www.oracle.com/cloud/compute/gpu/","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."},"decideHint":"/api/decide?jtbd=cheap-vms","human":"/providers/oracle-gpu","compare":"/compare/aws-ec2-vs-oracle-gpu"},{"id":"azure-vms","slug":"azure-vms","name":"Azure Virtual Machines","tagline":"Enterprise Microsoft default. Indie agent stacks should look elsewhere first.","website":"https://azure.microsoft.com/products/virtual-machines/","status":"active","overall":7.64,"scoreKind":"curated_estimate","confidence":"high","scoreAsOf":"2026-09-14","deltaOverallVsSubject":-0.37,"roles":["same_jtbd_runner"],"sharedJtbdSlugs":["enterprise-compute"],"pricing":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price","shape":"prose_notes_only","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[],"notesExcerpt":"Broad VM families; hybrid AD integration; enterprise agreements.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://azure.microsoft.com/products/virtual-machines/","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":"No sourced price row for this provider. pricingNotes stay prose. See research/gaps.md."},"decideHint":"/api/decide?jtbd=enterprise-compute","human":"/providers/azure-vms","compare":"/compare/aws-ec2-vs-azure-vms"}],"rankContract":{"style":"editorial_weighted","notAnElo":true,"note":"deltaOverallVsSubject is Depot overall (0–10) minus the subject. It is not Arena Elo and not an Artificial Analysis index."},"freshness":{"scoreAsOfMin":"2026-09-14","scoreAsOfMax":"2026-10-19","contractAsOf":"2026-10-03"},"honesty":["Alternatives are other catalog providers that share a JTBD as pick or runner-up. If fewer than three exist, same-category active providers fill the list and are labeled same_category.","Overall deltas are catalog scores. kind=curated_estimate is not a lab measurement.","Pricing rows are sourced or explicitly null. Do not parse pricingNotes. A single normalized USD figure is set only for a provider with exactly one token row."],"links":{"human":"/alternatives/aws-ec2","machine":"/api/alternatives?provider=aws-ec2","provider":"/api/providers/aws-ec2","canonical":"/api/canonical"}}