Developers

Two calls, one key, and a usage meter you can audit. Your first key is a sandbox key — claim a cell, get a grant or a hold, verify the signed record.

API KEY · SANDBOXnone yet

A key scopes what an agent may claim. Start with one scoped to the sandbox — rotate any time.

YOUR EMAIL
Prefer a guided setup? →
A revoked key stops being honoured immediately, and every decision it ever made stays in the chain. Revocation is not deletion.
STARTERS · ONE PER DOMAIN8 · no install

Once the key above works, start from a program that already looks like your problem: two agents reach for one resource, exactly one is granted it, and the run comes back signed.

Warehouse · humanoids · drones · robotaxi · energy · orbital · AI agents · games. Each is a single file that runs on Node 18+ with built-in fetch — nothing to install, and the same file runs against a local server or the live API by changing one env var.

Open the starter library →
The starters call the REST API directly. Our SDKs are not on npm or PyPI yet, so nothing here depends on them.
USAGE · THE METER IS THE CHAIN
0 signed decisionsof 1,000,000

Usage is the count of signed entries in your chain, not a number we assert. Recompute it from a bundle and it matches to the decision.

create a key to pre-fill
# pip install cascade-coordinate
from cascade import Layer

layer = Layer(key="…")           # create a key on the left
grant = layer.claim(
    cell="orchard/row-G14",
    agent="survey-drone-07",
    ttl_ms=2000,
)
if grant.ok:
    print("granted:", grant.cell)
    layer.release(grant)
else:
    grant.wait()                 # held — wait, do not race
print(grant.entry_hash)
→ create a key, then run your first claim