Docs · Guides
Custody key classes
Which keys Custody holds, which it deliberately never holds, and the reasoning for each.
The matrix
| Key class | In Custody? | Curve | Why |
|---|---|---|---|
| Organization chain signing | Yes | secp256k1 | Moves value irreversibly, must outlive a browser session and staff turnover, and there is nowhere else for it to be. |
| Approval signing | Yes | Ed25519 | Custody builds the canonical payload itself, so it is not a signing oracle. |
| Permit issuer | No | Ed25519 or secp256k1 | Organizations use a signer they already have. Taking custody would make Bengar the party that can mint any permit for any customer. |
| Policy authorship | No | Ed25519 | The signature attests that a person wrote it. A server-held key makes “who wrote this” answerable by whoever can reach the server. |
| Treasury | Not a separate class | secp256k1 | A treasury is an account, not a key. What bounds it is the operation allowlist, the tenant binding, the fee ceilings and the sequence slot. |
| Validator consensus | Never | Ed25519 | Must be generated on the host that signs with it and must never travel. One service holding several would make its compromise a coordinated double-sign. |
What a Custody compromise costs
Every organization's chain signing key and every principal's approval key, until they are rotated. It does not cost permit issuer keys, policy authorship keys, validator consensus keys or any personal wallet key — because none of those is there.