CRATON Get a free API key

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.

1risk object
7verbs
40seasons replayed
100%corpus pass rate
0SDKs
$0to start

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.

Start free.

No payment details. $0.25 per object, $1.00 per model run after the sandbox — and nothing else.

sandboxfree per object$0.25 per model run$1.00 private registryfrom $499/mo

Get a free API key The estimator

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 19862025, feed usgs-eq-kanto 2026-08-10, run backtest-v0:ccb03cc66a311880 — descriptive history, not a forecast; replays byte for byte.

Backtest 1986–2025 · payout as a percentage of limit 0% 25% 50% 75% 100% 1986 1996 2006 2016 2025
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.

A key in one call.
No card, no human.

Get a free API key Read the quickstart