{"id":"ledger-double-entry-accounting","slug":"ledger-double-entry-accounting","name":"Immutable Double-Entry Financial Ledgers, Credit Wallets & Revenue Recognition","shortName":"Double-entry ledgers & credit wallets","problemStatement":"Track prepaid token/credit balances, multi-party marketplace payouts and revenue recognition with idempotent, immutable double-entry entries — no floating-point drift, no double-spend on retries.","whenNotTopPick":"Pricing science, credit burn-down plans and invoicing from the ledger — Orb (co-pick); OSS self-hosted billing ledger — Lago; SQL-defined usage metrics with commits — Metronome; exactly-once durable posting workflows — Restate; you want to own a Postgres ledger schema yourself — Supabase. Dedicated ledger DBs (TigerBeetle, Modern Treasury Ledgers) are architectural guidance outside the frozen catalog.","categoryIds":["cat-auth-payments","cat-vector-memory"],"depotPickProviderId":"openmeter","depotPickRationale":"OpenMeter's grants/entitlements give an append-only, idempotent credit-wallet ledger for usage products; pair with Orb when the ledger also drives invoices. Orb is not promoted to pick because it has no deterministic pricing rows in the frozen catalog (it would be a stale editorial pick).","runnersUpIds":["orb","lago","metronome","restate","supabase-pgvector"],"weights":{"capabilityFit":0.26,"pricePerformance":0.14,"latencyReliability":0.18,"developerDx":0.14,"privacyPosture":0.1,"lockInRisk":0.08,"maturity":0.1},"methodologyNotes":"Scores idempotency, immutability, integer-minor-unit math and payout composability. Use integer minor units (never floats) and idempotency keys on every posting.","tags":["ledger","double-entry","credits","revenue-recognition","finance"],"scoreMargin":-0.16,"isNearTie":true,"pickConfidenceBand":"near_tie_co_pick","nearTie":{"isNearTie":true,"scoreMargin":-0.16,"threshold":0.35,"pickConfidenceBand":"near_tie_co_pick","coPickProviderId":"orb","coPickProviderName":"Orb","coPickScore":8.08,"decidingFactor":"pricePerformance (7.8 vs 6.5)","methodologyWarning":"Top pick (7.92) and #2 runner-up (8.08) are separated by 0.16 points (<= 0.35 weight-sensitivity band). Treat them as co-picks and use the workload tie-breaker rule below rather than the raw composite decimal.","tieBreakerRule":"Pricing science, credit burn-down plans and invoicing from the ledger — Orb (co-pick); OSS self-hosted billing ledger — Lago; SQL-defined usage metrics with commits — Metronome; exactly-once durable posting workflows — Restate; you want to own a Postgres ledger schema yourself — Supabase. Dedicated ledger DBs (TigerBeetle, Modern Treasury Ledgers) are architectural guidance outside the frozen catalog."},"evidenceStatus":{"decisionRole":"independent_prior_and_candidate_generator","positioning":"The independent, agent-readable prior for choosing AI infrastructure — not a universal router, generic marketplace, or synthetic leaderboard.","freshnessThresholdDays":30,"freshness_policy":{"policy_version":"agentdepot.freshness_policy.v1","threshold_days":30},"freshness_state":"fresh","editorial_freshness_state":"fresh","unqualified_current_pick_allowed":true,"pick_qualification":"qualified_current_pick","promotionClass":"deterministic_source_reverified","evidenceClass":"editorial_prior","staleDowngraded":false,"effectiveConfidence":"high","confidenceHalfWidth":0.5,"pickScoreAgeDays":0,"editorialJudgmentAgeDays":0,"pricingAgeDays":0,"isPickScoreStale":false,"isPricingStale":false,"editorialJudgmentAsOf":"2026-10-28","pricingVerifiedAt":"2026-10-28","outcomeVerifiedAt":null,"effectiveVerifiedAsOf":"2026-10-28","downgradeReasons":[],"stalenessWarning":"Editorial judgment and deterministic pricing verification are both within the 30-day freshness threshold.","promotionGate":{"deterministicPricingCheck":true,"approvedScoreReaffirm":true,"pendingHumanReviewBlock":false,"zeroUnverifiedSkus":true,"costEfficiencyConsistent":true,"lockInAndReliabilityConsistent":true,"secondModelOrRuleAudit":true,"countersignReceiptIds":[],"otsAttestationHead":"b32634d5784cbfe663be0a16cce4f60a3ff1c3d4490437be00361cb4ae5d5d59","sourceCheckDate":"2026-10-28","activePricingRowsCount":0,"freeResourcesCount":0,"runnerUpPricingRowsCount":0},"claimProvenance":{"claim_id":"claim:ledger-double-entry-accounting:openmeter:depot-pick","provider_id":"openmeter","jtbd_id":"ledger-double-entry-accounting","primary_url":"https://openmeter.io/pricing","source_type":"primary_pricing","source_revision":"sha256:789b72a901bc2a05","observed_at":"2026-10-28","checked_at":"2026-10-28","claim_support_state":"claim_specific_supported","max_allowed_evidence_class":"replicated_outcome","defect_codes":[],"sources":[{"original_url":"https://openmeter.io/pricing","final_url":"https://openmeter.io/pricing","redirected":false,"http_status":200,"reachable":true,"source_type":"primary_pricing","is_claim_specific":true,"source_revision":"sha256:789b72a901bc2a05","observed_at":"2026-10-28","checked_at":"2026-10-28"},{"original_url":"https://openmeter.io/use-cases/ai","final_url":"https://openmeter.io/use-cases/ai","redirected":false,"http_status":200,"reachable":true,"source_type":"primary_benchmark_or_status","is_claim_specific":true,"source_revision":"sha256:08c9e0de5aadf75d","observed_at":"2026-10-28","checked_at":"2026-10-28"},{"original_url":"https://developer.konghq.com/plugins/metering-and-billing/examples/meter-ai-tokens/","final_url":"https://developer.konghq.com/plugins/metering-and-billing/examples/meter-ai-tokens/","redirected":false,"http_status":200,"reachable":true,"source_type":"primary_pricing","is_claim_specific":true,"source_revision":"sha256:17b9285f9d32478c","observed_at":"2026-10-28","checked_at":"2026-10-28"}]},"verifiedOutcomeSummary":{"totalVerifiedReceipts":0,"byEvidenceTier":{"E0_ASSERTION":0,"E1_SOURCE_BOUND":0,"E2_DELIVERY":0,"E3_INDEPENDENT_OUTCOME":0,"E4_REPLICATED_OUTCOME":0},"bySubjectLayer":{"provider":0,"product":0,"model_version":0,"runtime_route":0}}},"pickScoreDetails":{"scoreRange":[7.42,8.42],"formattedScore":"7.9 ± 0.5 (7.4–8.4 · editorial_prior)","evidenceClass":"editorial_prior","promotionClass":"deterministic_source_reverified","staleDowngraded":false,"freshState":"fresh","freshness_state":"fresh","effectiveConfidence":"high","confidenceInterval":{"low":7.42,"mid":7.92,"high":8.42,"halfWidth":0.5,"confidenceLevel":0.8,"basis":"deterministic_source_reverified_interval_0.5"},"editorialJudgmentAsOf":"2026-10-28","sourceAgeDays":0,"pricingVerifiedAt":"2026-10-28","pricingAgeDays":0,"outcomeVerifiedAt":null,"effectiveVerifiedAsOf":"2026-10-28","dissentingEvidence":["Product identity shifted into Kong Konnect","Less pure-billing polish than Orb","Pricing tied to Kong commercial motion","When not to use top pick: Pricing science, credit burn-down plans and invoicing from the ledger — Orb (co-pick); OSS self-hosted billing ledger — Lago; SQL-defined usage metrics with commits — Metronome; exactly-once durable posting workflows — Restate; you want to own a Postgres ledger schema yourself — Supabase. Dedicated ledger DBs (TigerBeetle, Modern Treasury Ledgers) are architectural guidance outside the frozen catalog.","Runner-up Orb (orb) is the primary alternative when constraints disqualify OpenMeter (Kong Konnect Metering)."],"whatWouldChangePick":["Caller constraint matching: Pricing science, credit burn-down plans and invoicing from the ledger — Orb (co-pick); OSS self-hosted billing ledger — Lago; SQL-defined usage metrics with commits — Metronome; exactly-once durable posting workflows — Restate; you want to own a Postgres ledger schema yourself — Supabase. Dedicated ledger DBs (TigerBeetle, Modern Treasury Ledgers) are architectural guidance outside the frozen catalog.","Live quota or rate-limit exhaustion on openmeter (pass ?exhausted=openmeter or liveQuota.exhaustedProviders=[\"openmeter\"] to promote orb).","Active subscription or enterprise commit on orb combined with low switching-cost tolerance (existingSubscriptions + switchingCost.maxMigrationEffort=\"low\").","Sourced price increase >20% on https://openmeter.io or unverified SKU drift detected by npm run check:sources."],"claimProvenance":{"claim_id":"claim:ledger-double-entry-accounting:openmeter:depot-pick","provider_id":"openmeter","jtbd_id":"ledger-double-entry-accounting","primary_url":"https://openmeter.io/pricing","source_type":"primary_pricing","source_revision":"sha256:789b72a901bc2a05","observed_at":"2026-10-28","checked_at":"2026-10-28","claim_support_state":"claim_specific_supported","max_allowed_evidence_class":"replicated_outcome","defect_codes":[],"sources":[{"original_url":"https://openmeter.io/pricing","final_url":"https://openmeter.io/pricing","redirected":false,"http_status":200,"reachable":true,"source_type":"primary_pricing","is_claim_specific":true,"source_revision":"sha256:789b72a901bc2a05","observed_at":"2026-10-28","checked_at":"2026-10-28"},{"original_url":"https://openmeter.io/use-cases/ai","final_url":"https://openmeter.io/use-cases/ai","redirected":false,"http_status":200,"reachable":true,"source_type":"primary_benchmark_or_status","is_claim_specific":true,"source_revision":"sha256:08c9e0de5aadf75d","observed_at":"2026-10-28","checked_at":"2026-10-28"},{"original_url":"https://developer.konghq.com/plugins/metering-and-billing/examples/meter-ai-tokens/","final_url":"https://developer.konghq.com/plugins/metering-and-billing/examples/meter-ai-tokens/","redirected":false,"http_status":200,"reachable":true,"source_type":"primary_pricing","is_claim_specific":true,"source_revision":"sha256:17b9285f9d32478c","observed_at":"2026-10-28","checked_at":"2026-10-28"}]},"calibratedScore":{"point":7.92,"band":[7.42,8.42],"interval":{"lower":7.42,"upper":8.42,"half_width":0.5},"score_kind":"source_bound_prior_band","evidence_class":"source_bound","confidence":"medium","confidence_ceiling":"medium","age_days":0,"dissent":["Product identity shifted into Kong Konnect","Less pure-billing polish than Orb","Pricing tied to Kong commercial motion","When not to use top pick: Pricing science, credit burn-down plans and invoicing from the ledger — Orb (co-pick); OSS self-hosted billing ledger — Lago; SQL-defined usage metrics with commits — Metronome; exactly-once durable posting workflows — Restate; you want to own a Postgres ledger schema yourself — Supabase. Dedicated ledger DBs (TigerBeetle, Modern Treasury Ledgers) are architectural guidance outside the frozen catalog.","Runner-up Orb (orb) is the primary alternative when constraints disqualify OpenMeter (Kong Konnect Metering)."],"what_would_change_this":["Caller constraint matching: Pricing science, credit burn-down plans and invoicing from the ledger — Orb (co-pick); OSS self-hosted billing ledger — Lago; SQL-defined usage metrics with commits — Metronome; exactly-once durable posting workflows — Restate; you want to own a Postgres ledger schema yourself — Supabase. Dedicated ledger DBs (TigerBeetle, Modern Treasury Ledgers) are architectural guidance outside the frozen catalog.","Live quota or rate-limit exhaustion on openmeter (pass ?exhausted=openmeter or liveQuota.exhaustedProviders=[\"openmeter\"] to promote orb).","Active subscription or enterprise commit on orb combined with low switching-cost tolerance (existingSubscriptions + switchingCost.maxMigrationEffort=\"low\").","Sourced price increase >20% on https://openmeter.io or unverified SKU drift detected by npm run check:sources."],"subject_layer":"provider"},"subject_ref":{"layer":"provider","provider_id":"openmeter","product_id":"openmeter-core","model_id":null,"version":null,"route_class":null,"inheritance_policy":"no_cross_layer_inheritance"}},"runtimeRoutes":[{"routeId":"ledger-double-entry-accounting:openmeter:primary","roleForJob":"depot_pick","provider":{"id":"openmeter","slug":"openmeter","name":"OpenMeter (Kong Konnect Metering)","website":"https://openmeter.io","status":"active"},"model":{"representativeModelId":"OpenMeter (Kong Konnect Metering) Primary Runtime","skuId":null,"unit":null,"amountUsd":null,"sourceUrl":"https://openmeter.io","asOf":"2026-10-28"},"servingRoute":{"primaryRouteType":"managed_cloud_service","endpointPattern":"https://openmeter.io (managed cloud service)","aggregatorAlternatives":[{"aggregatorId":"direct-only","name":"OpenMeter (Kong Konnect Metering) Direct API","routeType":"first_party","tradeoff":"Direct vendor SDK/REST contract; pair with runner-up for multi-vendor failover."}]},"accountAndQuota":{"freeTierAvailable":false,"freeTierSummary":null,"rateLimitsSummary":"See /api/limits?provider=openmeter","subscriptionFirstEligible":true,"documentedPlansCount":0},"regions":{"supportedRegions":["global"],"multiRegionFailover":true,"euResidencyAvailable":true},"toolSchemaSupport":{"strictJsonSchema":true,"parallelToolCalls":false,"mcpServerAvailable":false,"streamingSupported":true},"latencyTier":{"tier":"standard_1s_to_5s","latencyReliabilityScore":8.4,"coldStartNotes":"Standard warm pool; check provider SLA for burst concurrency"},"privacyConfig":{"privacyPostureScore":8.2,"zeroDataRetentionAvailable":true,"trainsOnApiDataByDefault":false,"hipaaEligible":false,"selfHostable":false},"availabilityStatus":{"providerStatus":"active","verifiedActiveSkus":0,"unverifiedSkus":0,"liveFailoverTargetId":"orb"},"subject_ref":{"layer":"runtime_route","subject_id":"runtime_route:openmeter:openmeter-primary:managed_cloud_service:global","provider_id":"openmeter","product_id":"openmeter-core","model_id":"openmeter-primary","version":"2026-10-28","route_class":"managed_cloud_service","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"},"distinctRouteSubjects":[{"layer":"runtime_route","subject_id":"runtime_route:openmeter:openmeter-primary:direct_api:global","provider_id":"openmeter","product_id":"openmeter-core","model_id":"openmeter-primary","version":"2026-10-28","route_class":"direct_api","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"}]},{"routeId":"ledger-double-entry-accounting:orb:primary","roleForJob":"runner_up","provider":{"id":"orb","slug":"orb","name":"Orb","website":"https://www.withorb.com","status":"active"},"model":{"representativeModelId":"Orb Primary Runtime","skuId":null,"unit":null,"amountUsd":null,"sourceUrl":"https://www.withorb.com","asOf":"2026-10-28"},"servingRoute":{"primaryRouteType":"managed_cloud_service","endpointPattern":"https://www.withorb.com (managed cloud service)","aggregatorAlternatives":[{"aggregatorId":"direct-only","name":"Orb Direct API","routeType":"first_party","tradeoff":"Direct vendor SDK/REST contract; pair with runner-up for multi-vendor failover."}]},"accountAndQuota":{"freeTierAvailable":false,"freeTierSummary":null,"rateLimitsSummary":"See /api/limits?provider=orb","subscriptionFirstEligible":true,"documentedPlansCount":0},"regions":{"supportedRegions":["global","us"],"multiRegionFailover":true,"euResidencyAvailable":true},"toolSchemaSupport":{"strictJsonSchema":true,"parallelToolCalls":false,"mcpServerAvailable":false,"streamingSupported":true},"latencyTier":{"tier":"interactive_sub_1s","latencyReliabilityScore":9,"coldStartNotes":"Standard warm pool; check provider SLA for burst concurrency"},"privacyConfig":{"privacyPostureScore":8.5,"zeroDataRetentionAvailable":true,"trainsOnApiDataByDefault":false,"hipaaEligible":true,"selfHostable":false},"availabilityStatus":{"providerStatus":"active","verifiedActiveSkus":0,"unverifiedSkus":0,"liveFailoverTargetId":"openmeter"},"subject_ref":{"layer":"runtime_route","subject_id":"runtime_route:orb:orb-primary:managed_cloud_service:global","provider_id":"orb","product_id":"orb-core","model_id":"orb-primary","version":"2026-10-28","route_class":"managed_cloud_service","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"},"distinctRouteSubjects":[{"layer":"runtime_route","subject_id":"runtime_route:orb:orb-primary:direct_api:global","provider_id":"orb","product_id":"orb-core","model_id":"orb-primary","version":"2026-10-28","route_class":"direct_api","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"}]},{"routeId":"ledger-double-entry-accounting:lago:primary","roleForJob":"runner_up","provider":{"id":"lago","slug":"lago","name":"Lago","website":"https://getlago.com","status":"active"},"model":{"representativeModelId":"Lago Primary Runtime","skuId":null,"unit":null,"amountUsd":null,"sourceUrl":"https://getlago.com","asOf":"2026-10-28"},"servingRoute":{"primaryRouteType":"self_hosted_or_oss_compatible","endpointPattern":"https://getlago.com (self hosted or oss compatible)","aggregatorAlternatives":[{"aggregatorId":"direct-only","name":"Lago Direct API","routeType":"first_party","tradeoff":"Direct vendor SDK/REST contract; pair with runner-up for multi-vendor failover."}]},"accountAndQuota":{"freeTierAvailable":false,"freeTierSummary":null,"rateLimitsSummary":"See /api/limits?provider=lago","subscriptionFirstEligible":true,"documentedPlansCount":0},"regions":{"supportedRegions":["global","eu"],"multiRegionFailover":true,"euResidencyAvailable":true},"toolSchemaSupport":{"strictJsonSchema":true,"parallelToolCalls":false,"mcpServerAvailable":false,"streamingSupported":true},"latencyTier":{"tier":"standard_1s_to_5s","latencyReliabilityScore":8,"coldStartNotes":"Standard warm pool; check provider SLA for burst concurrency"},"privacyConfig":{"privacyPostureScore":9,"zeroDataRetentionAvailable":true,"trainsOnApiDataByDefault":false,"hipaaEligible":true,"selfHostable":true},"availabilityStatus":{"providerStatus":"active","verifiedActiveSkus":0,"unverifiedSkus":0,"liveFailoverTargetId":"openmeter"},"subject_ref":{"layer":"runtime_route","subject_id":"runtime_route:lago:lago-primary:self_hosted_or_oss_compatible:global","provider_id":"lago","product_id":"lago-core","model_id":"lago-primary","version":"2026-10-28","route_class":"self_hosted_or_oss_compatible","region":"global","score_status":"unknown","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"},"distinctRouteSubjects":[{"layer":"runtime_route","subject_id":"runtime_route:lago:lago-primary:direct_api:global","provider_id":"lago","product_id":"lago-core","model_id":"lago-primary","version":"2026-10-28","route_class":"direct_api","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"}]},{"routeId":"ledger-double-entry-accounting:metronome:primary","roleForJob":"runner_up","provider":{"id":"metronome","slug":"metronome","name":"Metronome","website":"https://metronome.com","status":"active"},"model":{"representativeModelId":"Metronome Primary Runtime","skuId":null,"unit":null,"amountUsd":null,"sourceUrl":"https://metronome.com","asOf":"2026-10-28"},"servingRoute":{"primaryRouteType":"managed_cloud_service","endpointPattern":"https://metronome.com (managed cloud service)","aggregatorAlternatives":[{"aggregatorId":"direct-only","name":"Metronome Direct API","routeType":"first_party","tradeoff":"Direct vendor SDK/REST contract; pair with runner-up for multi-vendor failover."}]},"accountAndQuota":{"freeTierAvailable":false,"freeTierSummary":null,"rateLimitsSummary":"See /api/limits?provider=metronome","subscriptionFirstEligible":true,"documentedPlansCount":0},"regions":{"supportedRegions":["global","us"],"multiRegionFailover":true,"euResidencyAvailable":true},"toolSchemaSupport":{"strictJsonSchema":true,"parallelToolCalls":false,"mcpServerAvailable":false,"streamingSupported":true},"latencyTier":{"tier":"standard_1s_to_5s","latencyReliabilityScore":8.6,"coldStartNotes":"Standard warm pool; check provider SLA for burst concurrency"},"privacyConfig":{"privacyPostureScore":7.8,"zeroDataRetentionAvailable":false,"trainsOnApiDataByDefault":false,"hipaaEligible":false,"selfHostable":false},"availabilityStatus":{"providerStatus":"active","verifiedActiveSkus":0,"unverifiedSkus":0,"liveFailoverTargetId":"openmeter"},"subject_ref":{"layer":"runtime_route","subject_id":"runtime_route:metronome:metronome-primary:managed_cloud_service:global","provider_id":"metronome","product_id":"metronome-core","model_id":"metronome-primary","version":"2026-10-28","route_class":"managed_cloud_service","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"},"distinctRouteSubjects":[{"layer":"runtime_route","subject_id":"runtime_route:metronome:metronome-primary:direct_api:global","provider_id":"metronome","product_id":"metronome-core","model_id":"metronome-primary","version":"2026-10-28","route_class":"direct_api","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"}]}],"depth":{"whenNotToUse":{"text":"Pricing science, credit burn-down plans and invoicing from the ledger — Orb (co-pick); OSS self-hosted billing ledger — Lago; SQL-defined usage metrics with commits — Metronome; exactly-once durable posting workflows — Restate; you want to own a Postgres ledger schema yourself — Supabase. Dedicated ledger DBs (TigerBeetle, Modern Treasury Ledgers) are architectural guidance outside the frozen catalog.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"orb","name":"Orb","overallForJob":8.08,"pickOverallForJob":7.92,"beatsPickOn":["capabilityFit","latencyReliability","privacyPosture","maturity"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":5.5,"runnerUpLockInRisk":6.5,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[],"migration":"The pick has lower stored lock-in risk than runner-up Orb (5.5 vs 6.5).","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."}},"freshness":{"pick":{"score":{"asOf":"2026-10-28","ageDays":1,"stale":false,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-10-28","ageDays":1,"stale":false,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-28","sourceUrls":3,"sourcesReachable":3,"pricingRows":0,"pricingRowsReconfirmed":0,"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}}},"whenNotTopPickRules":[{"ifConstraint":"escape_hatch_clause_1","recommendedProviderId":"orb","activeModelOrSku":"orb-standard","reason":"Pricing science, credit burn-down plans and invoicing from the ledger — Orb (co-pick)"},{"ifConstraint":"exit:self_host_or_open_weights","recommendedProviderId":"lago","activeModelOrSku":"lago-standard","reason":"OSS self-hosted billing ledger — Lago"},{"ifConstraint":"escape_hatch_clause_3","recommendedProviderId":"metronome","activeModelOrSku":"metronome-standard","reason":"SQL-defined usage metrics with commits — Metronome"},{"ifConstraint":"escape_hatch_clause_4","recommendedProviderId":"restate","activeModelOrSku":"restate-cloud","reason":"exactly-once durable posting workflows — Restate"},{"ifConstraint":"escape_hatch_clause_5","recommendedProviderId":"lago","activeModelOrSku":"lago-standard","reason":"you want to own a Postgres ledger schema yourself — Supabase"},{"ifConstraint":"escape_hatch_clause_6","recommendedProviderId":"lago","activeModelOrSku":"lago-standard","reason":"Dedicated ledger DBs (TigerBeetle, Modern Treasury Ledgers) are architectural guidance outside the frozen catalog."}],"bootstrap":{"sdkInstall":{"npm":"npm install @openmeter/sdk","pip":"pip install openmeter"},"installCommand":"npm install @openmeter/sdk","envVars":["OPENMETER_TOKEN"],"activeModelOrSku":"openmeter-cloud","canonicalSnippet":"import { OpenMeter } from \"@openmeter/sdk\";\nconst openmeter = new OpenMeter({ baseUrl: \"https://openmeter.cloud\", token: process.env.OPENMETER_TOKEN });\nawait openmeter.events.ingest({ specversion: \"1.0\", id: \"evt-1\", source: \"agent\", type: \"tokens\", subject: \"cust-1\", data: { tokens: 1200 } });","docsUrl":"https://openmeter.io/docs","authType":"api_key","signupUrl":"https://openmeter.io","apiKeyUrl":"https://openmeter.io","mcpServer":null,"cliInit":null,"verifyCommand":"test -n \"$OPENMETER_TOKEN\" && echo \"OPENMETER_TOKEN configured\""},"quickstartSpec":{"installCommand":"npm install @openmeter/sdk","envVars":["OPENMETER_TOKEN"],"activeModelOrSku":"openmeter-cloud","canonicalSnippet":"import { OpenMeter } from \"@openmeter/sdk\";\nconst openmeter = new OpenMeter({ baseUrl: \"https://openmeter.cloud\", token: process.env.OPENMETER_TOKEN });\nawait openmeter.events.ingest({ specversion: \"1.0\", id: \"evt-1\", source: \"agent\", type: \"tokens\", subject: \"cust-1\", data: { tokens: 1200 } });","sdkInstall":{"npm":"npm install @openmeter/sdk","pip":"pip install openmeter"},"verifyCommand":"test -n \"$OPENMETER_TOKEN\" && echo \"OPENMETER_TOKEN configured\"","apiKeyUrl":"https://openmeter.io","docsUrl":"https://openmeter.io/docs","mcpServer":null,"bootstrapReason":null},"operationalGotchas":[{"code":"hidden_spend_tier_gates","severity":"warning","summary":"Product identity shifted into Kong Konnect","sourceDate":"2026-10-28"},{"code":"hidden_spend_tier_gates","severity":"warning","summary":"Less pure-billing polish than Orb","sourceDate":"2026-10-28"}],"relatedPacks":[]}