POST /api/tally/burn
Burn-to-compute: the caller pays the computed cost (charged atomically), the protocol runs the operator sequence on the named machine via the prove path, and mints a fresh proof token for the result. The foundation cut and burn are part of the charge breakdown.
Auth
Bearer. The cost is charged against the caller's balance before any compute runs — if the wallet is short, nothing is performed.
Request
{
"slug": "zeq07064481773",
"operators": ["KO42", "NM21"],
"inputs": { "m1": 5.972e24, "m2": 7.348e22, "r": 384400e3 },
"domain": "tally",
"proof_required": true
}
| Field | Type | Required | Notes |
|---|---|---|---|
slug | string | yes | The machine the compute (and minted token) is attributed to. |
operators | string[] | yes | Operator sequence to run. Cost scales with length + cross-domain. |
inputs | object | optional | Inputs for the operator sequence. |
domain | string | optional | Domain hint for the prove call (default tally). |
proof_required | boolean | optional | Default true. |
Response — 200
{
"ok": true,
"token": { "id": "uuid", "hash": "7f…" },
"cost": { "total": 5, "foundation": 1, "burned": 4 },
"supply_remaining": 35248,
"computation": { "value": 1.982e20, "unit": "N", "precision": 0.00037 },
"zeqond_number": 2287439213,
"phase": 0.418,
"domains_detected": ["Newtonian Mechanics"],
"cross_domain": false
}
Errors
| Status | error | Cause |
|---|---|---|
400 | Required: slug, operators[] | Missing slug or operators. |
404 | machine_not_found | slug doesn't resolve. |
402 | insufficient_tokens | Balance < computed cost (required + cost_breakdown returned). |
500 / 503 | compute_failed | Operator pipeline failed (the charge is not minted into a token). |
401 | unauthorized | No session / key. |
To preview the cost without spending, call GET /api/tally/cost with the same operator list. Credits are non-transferable fuel; to move value, transfer a ZEQ envelope coin.