Economics v8

Charles Dana · Monce SAS · April 2026

The principle

tokens_in → tokens_out in (budget + 3s), always.

v8 meters every call in characters of CNF. One byte = one token. The tier router maps tokens_in to an engine mix; the watchdog maps budget to a wall-clock ceiling; the envelope returns total_ms and cost_usd on every response. Cost scales with engines actually used — local reducer runs are free above fixed infrastructure.

Per-engine cost

EngineWhereUnit costNotes
local_reduceEC2$0 marginalUP + pure-lit + FLP + pair look-ahead on t3.small
kissat directEC2$0 marginal1–3 s budget, counts against instance hours
v6 race workerLambda 10 GB$0.000167 × GB-s~1 s typical, ~$0.00017 per invocation
v7 big-tierLambda 10 GB + S3$0.0001 + $0.00002/MBS3 put per session, proportional to size
slow-trail sprayLambda (async)~$0.0001 × invocationsCapped at 50 invocations per /cnf/solve

Observed cost per status

RequestResultWallLambdaCost
3v trivialSAT (local)0.2 s0$0
100v phase transitionUNSAT (kissat)0.2 s0$0
400v / 3 sREDUCED1.4 s2~$0.0003
400v / 10 sREDUCED (292 k learned)8.4 s~20~$0.003
800v / 60 sREDUCED (1.28 M learned)43 s~120~$0.02
qg5-11 (984 KB)REDUCED (cl −55%)31 s~80~$0.01
bmc-ibm-6 (6.9 MB)REDUCED (cl −55%)76 s~200~$0.03

SATLIB crowdsource game (live)

MetricValue
Instances total2 107
Total tokens_in118 MB DIMACS
Small tier (kissat, free)1 599 (76%)
Medium tier (race)466 (22%)
Large tier (v7 Lambda)42 (2%)
Cost to finish the whole thing~$0.15

Push mode — spot a laptop's worth of compute

ModeBudgetWorkersPer-call cap
laptop240 s300 × 10 GB$12.00
extreme70 s1 000 × 10 GB$12.00

Monthly ceiling: $50. Per-call ceiling: $12. Refused at the service level before any Lambda fires. Live status: /satlib/push_status.

Reference point: snakebatch.aws.monce.ai had a single $5 call in its history — that's the ballpark of serious compute spending here.

Budget shapes the mix

budget = 1 s      -> local_reduce + kissat.   $0 marginal.
budget = 5 s      -> + v6 race.               < $0.001.
budget = 60 s     -> + v7 swarm (up to ~200). < $0.05.
budget = 240 s    -> push:laptop (up to 300). < $12.00.
budget = 70 s     -> push:extreme (up to 1 000 workers). < $12.00.

Why it stays cheap

The local reducer absorbs easy instances before any Lambda fires. Kissat closes out small hard instances on-host. v6 only sees instances big enough to benefit from parallel branch; v7 only sees instances too big for a single payload. Each tier "charges" for the complexity it deserves. Push mode exists for the cases where none of that is enough.

Playground (/playground) — cost envelope

The inverse calculator runs entirely on the EC2 host: Tseitin encoding in Python, Kissat as a subprocess. No Lambda fans out, no S3 round-trip in the hot path. Cost is strictly EC2-seconds × rate. Public measured runs:

problemwidthvars / clauseswallmarginal cost
XOR+ADD inversion256b3 073 / 8 96420 ms~$3×10−7
Factor 10 403 = 101·10320b4 681 / 15 60560 ms~$10−6
Factor 1 000 00124b6 673 / 22 277100 ms~$2×10−6
Factor 64-bit semiprime64b45 953 / 154 117420 ms~$7×10−6
Multiply circuit96b102 721 / 344 837890 ms~$1.5×10−5
Multiply circuit128b182 017 / 611 3331.7 s~$3×10−5

Basis: t3.medium on-demand in eu-west-3 is $0.0496/hr = $1.38×10−5/s. A 100k-variable inversion costs about one thousandth of a cent. Factoring a 64-bit verified semiprime on the public API costs about one hundred-thousandth of a cent. You hit the multiplier wall (Θ(n2) clauses) long before you hit the budget wall.

What is expensive: factoring at crypto scale. A 256-bit RSA multiplier would compile to ~2.5M clauses; Kissat alone will not close it in any tractable budget. For those, the playground is a compilation front-end only — the CNF would route through v8 + push mode and accept the $12-per-call ceiling.

npdollars vs AUMA — when each dollar pays for what

Both services are billed per-second of compute on EC2, both on the same region (eu-west-3, t3.medium). The economic question is what kind of answer your dollar buys:

inputnpdollarsAUMA
1¢ of compute~600 ms of Kissat on a 100k-var CNF~60 000 evaluations of f
what 1¢ gets youExact antecedent OR UNSAT proofBest point found within budget
factor a 64-bit semiprime$7×10−6 (verified)Cannot complete at any budget tested
all Pythag triples c=65$2×10−6 (4 triples)One near-triple, not exact
find root of x2 = 42 over ℝNo float support$<10−7
complex polynomial rootNo complex support$10−7

Cost of certainty. npdollars charges more per problem because it returns a certificate (SAT with model, or UNSAT with resolution proof). AUMA charges less because it returns a number — which is fine when "close enough" suffices. On a 1 000 001 factoring, AUMA's 97 ms sweep costs ~$1.3×10−6 and returns nothing exact; npdollars' 126 ms costs ~$2×10−6 and returns 101 × 9 901. The certainty delta is 50%, the correctness delta is infinite.

Fixed infrastructure

ResourceMonthly
EC2 t3.medium$33
S3 + Route53 + CloudWatch$4
Lambda reserved concurrency$0 (pay-per-use)
Total fixed$37/month
Push budget ceiling$50/month (elastic)

.ncnf endpoints — cost per call

Every call runs on the EC2 t3.medium host (no Lambda). Cost is strictly EC2-seconds × rate = $1.38×10−5/s.

EndpointTypical bodyTypical wallMarginal cost
POST /ncnf/solve{problem:"php",params:{n:10}}1.2 s~$2×10−5
POST /ncnf/liftPHP(8) DIMACS + hint10 ms~$1.4×10−7
POST /ncnf/scaling{family:"php",sizes:[4..10]}~1.5 s~$2×10−5
POST /ncnf/adder{N:10000,target:3333}407 ms~$5.6×10−6
POST /ncnf/adder{N:1000000,solve:false}0.06 ms~$10−9
POST /flex-10k/solve100 random ints88 ms~$1.2×10−6
POST /flex-10k/solve10 000 random ints9.7 s~$1.3×10−4

One-liner: proving a 3.2-million-clause SAT theorem about 10k integer additions, on our public API, costs roughly one hundredth of a cent.

.ncnf — dollars become capital

The /ncnf pipeline adds a new economic regime. Every UNSAT proof the swarm produces is lifted into a quantified taboo and appended to the input. Cost paid once, amortized across every future instance of the same structural family.

FamilyCost to solve onceCost next timeSpeedup next time
PHP(10, 11) → PHP(12, 13)~$2×10−7negligible31 583× (60 s TIMEOUT → 1.9 ms)
Mutilated 10×10 → 12×12~$10−7negligible224×
Tseitin 6×6 → 7×7~$10−7negligible9.2×
Ordering GT(12) → GT(15)~$10−7negligible4.3×

The taboo library is capital, not expense. Every dollar spent on a novel family writes structure that costs nothing to re-use. The more you solve, the cheaper the next solve gets.

P-Time = NP-dollars

Polynomial wall-clock on small/medium instances. On hard instances, the budget dial controls dollars and the REDUCED contract ensures you always get a formula back that is strictly easier than the one you sent.

Charles Dana · Monce SAS · April 2026
Co-Authored-By: Claude (Anthropic)