Never buy insurance
software again.
Build it — on one risk object, seven verbs, an open registry.
Get a free API key → Walk it in the browser
Open schema Assumptions attached Replays byte for byte
No logos yet — receipts instead: every figure on this site is produced by the live product, on every change.
What will you build first?
Trigger-based products
A payout rule as code over pinned data.
Open this build →
Pricing engines
Technical prices, assumptions attached.
Open this build →
Cat models
Compose, validate, backtest — no code.
Open this build →
Portfolio monitors
Live measurement, delivered.
Open this build →
Ingest pipelines
The files you actually receive.
Open this build →
Submission pipelines
Draft exhibits from receipts.
Open this build →Who it’s for
Three readers first, in this order: insurance teams — program designers and underwriters at carriers and MGAs — whose job is already the verbs this build answers; risk managers, quickest to reject a number that arrives without its assumptions; and platform engineers embedding risk analytics, who can adopt the object with no account at all.
Ten minutes, one terminal, no SDK
Start free.
No payment details. $0.25 per object, $1.00 per model run after the sandbox — and nothing else.
| sandbox | free | per object | $0.25 | per model run | $1.00 | private registry | from $499/mo |
Under the hood, live
The chart below is drawn by the product: forty seasons of the Kanto structure, replayed on every change. 6 of 40 seasons paid (15%); largest annual payout JPY 1,000,000,000 against a limit of JPY 2,000,000,000; JPY 3,500,000,000 over the window, a burning cost of 4.375% a year. Window 1986–2025, feed usgs-eq-kanto 2026-08-10, run backtest-v0:ccb03cc66a311880 — descriptive history, not a forecast; replays byte for byte.
The four calls this page runs
curl -sS --fail-with-body -X POST "$CEDE_BASE_URL/signup"
curl -sS --fail-with-body -H "Authorization: Bearer $CEDE_API_KEY" -H "Content-Type: application/json" --data-binary @kanto-eq-box.json "$CEDE_BASE_URL/objects"
curl -sS --fail-with-body -X POST -H "Authorization: Bearer $CEDE_API_KEY" "$CEDE_BASE_URL/objects/$object_id/structures"
curl -sS --fail-with-body -X POST -H "Authorization: Bearer $CEDE_API_KEY" "$CEDE_BASE_URL/structures/$structure_id/backtest"
Executed against a live environment on every change; this page goes red if a figure moves. The runnable page is the proof, and the sign-up page is the second call with a button on it.
The object behind these figures
{
"exposure": {
"currency": "JPY",
"kind": "location_schedule",
"locations": [
{
"address_as_given": "2-16-1 Konan, Minato-ku, Tokyo 108-0075",
"construction": "reinforced_concrete",
"geocode": { "confidence": 0.96, "resolution": "rooftop" },
"latitude": 35.6284,
"longitude": 139.7387,
"occupancy": "warehouse",
"ref": "LOC-0001",
"values": { "building": { "amount": 8400000000, "currency": "JPY" } },
"year_built": 2011
}
],
"source_fidelity": { "ambiguous_rows": [], "guessed_units": [], "unmapped_columns": [] }
},
"financial_structure": {
"attachment": { "index_ref": "kanto-eq-box-magnitude", "unit": "M", "value": 6 },
"limit": { "amount": 2000000000, "currency": "JPY" }
},
"id": "69b0a7a6-712d-4ea4-8da9-43ca88bf94af",
"peril": {
"code": "earthquake",
"region": {
"bounding_geometry": {
"coordinates": [
[ [ 139, 34.9 ], [ 140.6, 34.9 ], [ 140.6, 36.2 ], [ 139, 36.2 ], [ 139, 34.9 ] ]
],
"type": "Polygon"
},
"description": "Kanto earthquake box: 34.9-36.2N, 139.0-140.6E."
}
},
"period": {
"expiry": "2027-04-01T00:00:00+09:00",
"inception": "2026-04-01T00:00:00+09:00",
"timezone": "Asia/Tokyo"
},
"schema_version": "0.1.0",
"status": "analysed",
"trigger": {
"data_sources": [
{
"id": "usgs-eq-kanto",
"kind": "quake_catalogue",
"name": "USGS ANSS Comprehensive Earthquake Catalog - Kanto extract",
"version": "2026-08-10",
"vintage": "2026-08-10"
}
],
"index": {
"aggregation_window": { "alignment": "event", "duration": "PT72H" },
"description": "Largest catalogue magnitude inside the Kanto box, shallower than the depth threshold.",
"measurement": {
"statistic": "max",
"unit": "M",
"variable": "catalogue_preferred_magnitude"
},
"name": "kanto-eq-box-magnitude",
"payout_function": {
"maximum_payout_ratio": 1,
"points": [
{ "level": 6, "payout_ratio": 0.25 },
{ "level": 6.5, "payout_ratio": 0.5 },
{ "level": 7, "payout_ratio": 1 }
],
"type": "step"
},
"thresholds": [
{ "label": "attachment", "level": 6, "unit": "M" },
{ "label": "exhaustion", "level": 7, "unit": "M" },
{ "label": "max_focal_depth", "level": 100, "unit": "km" }
],
"version": "1.0.0"
},
"type": "parametric_cat_in_a_box"
}
}
The registry counts on the product pages, and what they are
Specimen, not a reading. The registry routes are live on this
build — GET /primitives, POST /models,
GET /models/{model_id} and POST /models/{model_id}/runs
compose a model from the four primitives, validate it, and run it against an object.
But a model is private to its author until it is published, nothing is published here,
and no route serves a public listing yet. So published counts are the
published shape rather than live figures, and stay a labelled specimen until there are
live figures to print — the one thing on this site that is not a live answer, and
it is labelled so rather than quietly dressed as one. The archive behind the chart above is real:
usgs-eq-kanto, one pinned
vintage, 2026-08-10.
Craton outputs technical prices, never quotes; it drafts terms, never offers; it cannot bind, issue, endorse, claim or settle.
It holds no money, sells no cover, touches no paper — bring your own capacity. This build prices earthquake, station-measured rainfall and named-storm wind; flood, wildfire, severe convective storm, cloud outage and grid outage are in the object’s vocabulary with no pricing model here yet.
