Skip to content

Economics

What it costs to run, worked out in the open.

Every figure on this page is generated from FRAPE’s canonical cost model — the same versioned file the engineering team maintains — by a deterministic calculator. Inputs, sources and confidence are listed below.

Model 2026.10.0 · us-central1

Estimated monthly cost by volume

Engineering cost estimates in USD, base case
Monthly1M transactions / month10M transactions / month50M transactions / month
Peak requests per second1.515.276.1
Decision Core calls582,0005,820,00029,100,000
External provider calls203,7002,037,00010,185,000
Infrastructure$804.33$1,402.73$3,567.64
Decision Core$38.50$384.99$1,924.97
Providers (base price)$407.40$4,074.00$20,370.00
Total (base)$1,250.23$5,861.72$25,862.61
Total range (provider price low – high)$945 – $2,065$2,806 – $14,010$10,585 – $66,603
Cost per transaction (base)$0.001250$0.000586$0.000517
Cost per 1k transactions (base)$1.2502$0.5862$0.5173

Fixed infrastructure dominates at low volume and amortises as volume grows. External enrichment is the largest variable cost, which is why the decision flow serves as much as possible from rules, cache and local data.

Interactive

Try your own volume and mix

Adjust the inputs; everything else stays at the model’s base assumptions. Calculated in your browser from figures produced by the same calculator that generated the published tables.

Cache hit rate stays at 60%: only cache misses become billable provider calls.

Cost per 1k transactions
$0.5862
range $0.2806 – $1.4010
Monthly total (base)
$5,862
5,820,000 Decision Core calls · 2,037,000 provider calls
  • Infrastructure$1,403 (23.9%)
  • Decision Core$385 (6.6%)
  • Providers (base)$4,074 (69.5%)

Engineering cost estimate (model 2026.10.0, 2026-10-01). Not commercial pricing.

Sensitivity

Decision Core share versus provider share

Cost per 1k transactions at 10M transactions / month, base provider price
Decision Core share ↓ / provider share →10%35%60%90%
0%$0.2567$0.5477$0.8387$1.1879
25%$0.2727$0.5637$0.8547$1.2039
50%$0.2888$0.5798$0.8708$1.2200
75%$0.3048$0.5958$0.8868$1.2360
100%$0.3208$0.6118$0.9028$1.2520

Moving down a column (more Decision Core calls) changes cost far less than moving along a row (more external enrichment): the Decision Core is billed per input token at a low published rate, while provider lookups are priced per call.

Breakdown

Infrastructure components

Google Cloud list-price estimates in USD per month
Monthly1M transactions / month10M transactions / month50M transactions / month
GKE Autopilot Pods$308.32$308.32$308.32
GKE cluster fee$73.00$73.00$73.00
Cloud SQL (HA, storage, backups)$252.41$829.68$2,900.65
Pub/Sub$0.45$4.47$22.35
Cloud Logging$0.48$4.77$23.84
Cloud Trace$0.40$4.00$20.00
Internet egress$0.23$2.29$11.44
Load balancer$18.30$18.71$20.54
Cloud Armor requests$0.75$7.50$37.50
Other fixed services$150.00$150.00$150.00
Infrastructure total$804.33$1,402.73$3,567.64

Inputs

Assumptions and sources

Each input is labelled as a published price, a list-price estimate or an engineering assumption, with its source and our confidence. Cloud prices are us-central1 list prices; free tiers and discounts are ignored.

Traffic and decision-flow mix
InputValueType · confidenceSource
hours_per_month730hourslist-price estimate · highGoogle Cloud billing convention (730 hours per month): cloud.google.com/products/calculator
peak_to_average_ratio4ratioassumption · mediumFRAPE engineering assumption: payment traffic is diurnal with promotional spikes; capacity is sized for peak, not average.
terminal_rule_rate0.03share of transactionsassumption · lowFRAPE engineering assumption (FR-SCORE-006): share of events stopped by terminal hard rules (blocklists, unsupported country, test transactions) with no provider or Decision Core call. Kept low on purpose so the model is conservative.
provider_required_share0.35share of non-terminal transactionsassumption · lowFRAPE engineering assumption (FR-ENR-001): share of non-terminal events whose enrichment plan requires at least one external capability.
capabilities_per_enriched_transaction1.5capability lookups per enriched transactionassumption · mediumFRAPE engineering assumption: typical plan needs IP reputation, sometimes email or phone reputation.
cache_hit_rate0.6share of capability lookupsassumption · lowFRAPE engineering assumption (FR-ENR-002, FR-SCORE-007): share of required capability lookups served from Redis cache or local Postgres reference data. Returning customers, devices and IP ranges repeat heavily; 0.6 is deliberately below what repeat-traffic merchants usually see.
decision_core_share0.6share of non-terminal transactionsassumption · lowFRAPE engineering assumption: share of non-terminal events that reach Decision Core. Rules and policy can settle the rest; the model assumes a high share to stay conservative.
Decision Core (advisory)
InputValueType · confidenceSource
input_tokens_per_call1,500tokens per callassumption · mediumFRAPE engineering assumption: normalised state plus five questions. A reference example used 476 input tokens; 1500 is a conservative upper estimate for FRAPE's state.
price_per_input_token_usd0.000000042USD per input tokenpublished price · mediumPublished list price of the Decision Core's hosted model (USD 0.042 per 1M input tokens) — alpha API, price may change.
price_per_output_token_usd0USD per output tokenpublished price · mediumPublished list price of the Decision Core's hosted model (output tokens not billed)
output_tokens_per_call100tokens per callassumption · mediumFRAPE engineering assumption; irrelevant while output tokens are free but kept so a price change is a one-line edit.
retry_overhead0.05extra share of callsassumption · mediumFRAPE engineering assumption: retries and calls whose answers are discarded (timeouts, schema-invalid answers per the Decision Core spec) are still billed.
External enrichment providers (low / base / high)
InputValueType · confidenceSource
cost_per_call_usd0.0005 / 0.002 / 0.006USD per external provider callassumption · lowFRAPE engineering assumption: blended per-call price for third-party enrichment (IP, email, phone reputation). Actual prices are contract-specific and configured by SUPER_ADMIN (FR-PROV-006); no specific vendor's price is implied.
Google Cloud prices
InputValueType · confidenceSource
autopilot_vcpu_hour_usd0.0445USD per vCPU-hourlist-price estimate · mediumGKE Autopilot general-purpose Pod pricing, us-central1 list price: cloud.google.com/kubernetes-engine/pricing
autopilot_memory_gib_hour_usd0.0049225USD per GiB-hourlist-price estimate · mediumGKE Autopilot general-purpose Pod pricing, us-central1 list price: cloud.google.com/kubernetes-engine/pricing
gke_cluster_fee_hour_usd0.1USD per cluster-hourlist-price estimate · highGKE cluster management fee: cloud.google.com/kubernetes-engine/pricing (free-tier credit ignored to stay conservative)
cloud_sql_vcpu_hour_usd0.0413USD per vCPU-hourlist-price estimate · mediumCloud SQL for PostgreSQL Enterprise edition, us-central1 list price: cloud.google.com/sql/pricing
cloud_sql_memory_gib_hour_usd0.007USD per GiB-hourlist-price estimate · mediumCloud SQL for PostgreSQL Enterprise edition, us-central1 list price: cloud.google.com/sql/pricing
cloud_sql_ha_multiplier2multiplierlist-price estimate · highCloud SQL high-availability configuration is billed at twice the zonal price for compute and storage: cloud.google.com/sql/pricing
cloud_sql_ssd_gib_month_usd0.17USD per GiB-monthlist-price estimate · mediumCloud SQL SSD storage, us-central1 list price: cloud.google.com/sql/pricing
cloud_sql_backup_gib_month_usd0.08USD per GiB-monthlist-price estimate · mediumCloud SQL backup storage list price: cloud.google.com/sql/pricing
pubsub_throughput_tib_usd40USD per TiBlist-price estimate · mediumPub/Sub message delivery (throughput) list price; free tier ignored: cloud.google.com/pubsub/pricing
logging_ingestion_gib_usd0.5USD per GiBlist-price estimate · mediumCloud Logging ingestion list price; free allotment ignored: cloud.google.com/stackdriver/pricing
trace_million_spans_usd0.2USD per million spanslist-price estimate · mediumCloud Trace span ingestion list price; free allotment ignored: cloud.google.com/stackdriver/pricing
internet_egress_gib_usd0.12USD per GiBlist-price estimate · mediumPremium Tier internet egress, first-band list price: cloud.google.com/vpc/network-pricing
lb_forwarding_rule_hour_usd0.025USD per hourlist-price estimate · mediumExternal Application Load Balancer forwarding rule list price: cloud.google.com/vpc/network-pricing#lb
lb_data_processed_gib_usd0.008USD per GiBlist-price estimate · mediumExternal Application Load Balancer data processing list price: cloud.google.com/vpc/network-pricing#lb
cloud_armor_million_requests_usd0.75USD per million requestslist-price estimate · mediumCloud Armor Standard request evaluation list price: cloud.google.com/armor/pricing
other_fixed_monthly_usd150USD per monthassumption · lowFRAPE engineering allowance for Secret Manager, Artifact Registry, Cloud Armor policy/rule fees, KMS, Cloud Monitoring and DNS: cloud.google.com/pricing/list
Data volumes
InputValueType · confidenceSource
stored_bytes_per_event8,192bytes per eventassumption · mediumFRAPE engineering assumption (FR-SCORE-009): event row, features snapshot, rule matches, provider summary and indexes.
retention_months13monthsassumption · mediumFRAPE engineering assumption: 13-month retention covers chargeback windows; actual retention is an organization setting (FR-ORG-003).
base_storage_gib20GiBassumption · mediumFRAPE engineering assumption: reference data, identities, audit, cases.
backup_to_storage_ratio1ratioassumption · lowFRAPE engineering assumption: retained backups plus PITR logs roughly equal live data size (NFR-DR-001).
pubsub_billable_bytes_per_transaction12,288bytes per transactionassumption · mediumFRAPE engineering assumption: event.scored publish plus deliveries to alerting, webhook and analytics subscriptions, each rounded up to the Pub/Sub per-message minimum.
log_bytes_per_transaction1,024bytes per transactionassumption · mediumFRAPE engineering assumption: one structured access log line per request, no bodies (NFR-OBS-001).
trace_sample_rate0.1share of transactionsassumption · mediumFRAPE engineering assumption: head sampling at 10%.
spans_per_traced_transaction20spansassumption · mediumFRAPE engineering assumption: decision-flow stages, DB, cache, provider and Decision Core spans.
egress_bytes_per_transaction2,048bytes per transactionassumption · mediumFRAPE engineering assumption: /v1/score response plus outbound webhook deliveries.
lb_processed_bytes_per_transaction6,144bytes per transactionassumption · mediumFRAPE engineering assumption: request including browser signals plus response.
capacity_headroom1.3multiplier on peak loadassumption · mediumFRAPE engineering assumption: 30% headroom over peak for HPA lag and zone loss.

Design partners

Help shape what FRAPE decides next.

We are working with a small number of teams who score payments, sign-ups, logins or payouts and want decisions they can explain line by line. Bring your rules and your edge cases.