Authorization header:
Unauthorized.
What a key allows
Each key carries four settings that the administrator chooses:
The scopes are:
readallows everyGETread endpoint.sendallowsPOST /transactions/send,POST /transactions/phoenix/onboard/submit, andGET /transactions/status.- An exact builder action name, such as
jupiter/swapordlmm/open, allowsPOST /transactions/{action}for that action.
Forbidden.
Request checks
On every request that names a vault, the API reads the vault from the chain and checks two things:- If the key has a vault allowlist, the vault is on it.
- The key’s manager is the vault’s current on-chain authority.
vault/initialize has no vault yet, so it skips these checks. It needs a key without a vault allowlist, because a new vault cannot be on a list. A key with an allowlist gets 403.
Sending a transaction needs send and also the builder action that produced its ticket. If the administrator removes dlmm/open from a key, tickets that key already built for dlmm/open stop working.
Scopes for follow-up steps
Some builds return anext step that names another builder action. The key needs that action’s scope too. Without it, the flow stops with a 403 after the last confirmed step.
Phoenix onboarding needs
phoenix/onboard and send. See Send and status.
Change, rotate, and revoke keys
Changes an administrator makes to a key take effect within about 5 seconds. If Hedgin cannot look up a key, the API returns 503 instead of letting the request through. To rotate a key:- Ask a Hedgin administrator for a new key with the same settings.
- Move the bot to the new key.
- Ask the administrator to revoke the old key.
