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.
A key scopes what an agent may claim. Start with one scoped to the sandbox — rotate any time.
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.
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.
# 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)