Skip to main content
Erebor is the SuperVaults management API. It powers vault reads, settings preparation, registries, merkle workflows, upkeep, users, pause controls, notification channels, and public vault data. Base URL: https://erebor.superform.xyz Auth: Authorization: Bearer <jwt> except public endpoints
For onchain changes, Erebor prepares calldata and the manager wallet signs the transaction. The REST request is not the state change; the signed transaction is.

Auth

EndpointMethodDescription
/api/v1/auth/meGETCurrent user, wallet, and vault roles
/api/v1/auth/verifyGETLightweight JWT verification

Vaults and Public Discovery

EndpointMethodDescription
/api/v1/public/vaultsGETPublic vault list
/api/v1/vaultsGETAuthenticated vault list
/api/v1/vaults/{chain_id}/{vault_address}GETFull vault detail
Vault detail includes onchain identity, managers, fees, PPS, balances, TVL, upkeep information, activation state, and allocation data when available. Authenticated list responses may include activation; public vault responses include upkeep_info and activation when Erebor can compute them. Public discovery depends on more than deployment. Erebor only surfaces vaults with known activation when activation.is_discoverable is true. If activation is unknown because a subgraph dependency is unavailable, the vault can still be returned with activation unset rather than treated as deleted.

Vault Creation

EndpointMethodDescription
/api/v1/vaults/create/preparePOSTPrepare vault creation transaction
/api/v1/vaults/create/confirmPOSTConfirm creation transaction hash and start indexing
/api/v1/vaults/create/jobs/{id}GETPoll creation job
ConfirmCreateVaultRequest can include vault_config.redeem_timelock_seconds for post-indexing settings. Distribution metadata is handled by the dashboard/listing layer after vault address resolution. Onchain creation and Superform availability are separate states.

Settings and Upkeep

EndpointMethodDescription
/api/v1/settings/fee-configGETRead current fee config
/api/v1/settings/fee-config/proposePOSTPrepare fee-config proposal transaction
/api/v1/settings/fee-config/executePOSTPrepare fee-config execution transaction
/api/v1/settings/deviation-thresholdGETRead PPS deviation threshold
/api/v1/settings/deviation-threshold/updatePOSTPrepare deviation-threshold update transaction
/api/v1/settings/pps-expirationGETRead PPS expiration / staleness setting
/api/v1/settings/pps-expiration/proposePOSTPrepare PPS-expiration proposal transaction
/api/v1/settings/pps-expiration/executePOSTPrepare PPS-expiration execution transaction
/api/v1/settings/pps-expiration/cancelPOSTPrepare PPS-expiration cancellation transaction
/api/v1/settings/redeem-timelockGET/PUT/DELETERead, update, or remove redeem timelock
/api/v1/settings/banned-hook-leavesGETRead banned hook leaves
/api/v1/settings/banned-hook-leaves/updatePOSTPrepare banned-hook-leaf update transaction
/api/v1/settings/min-update-intervalGETRead minimum PPS update interval
/api/v1/settings/min-update-interval/proposePOSTPrepare min-update-interval proposal transaction
/api/v1/settings/min-update-interval/executePOSTPrepare min-update-interval execution transaction
/api/v1/settings/min-update-interval/cancelPOSTPrepare min-update-interval cancellation transaction
/api/v1/settings/upkeepGET/POSTRead or prepare upkeep settings update
/api/v1/settings/upkeep/depositPOSTPrepare upkeep deposit
/api/v1/settings/upkeep/withdraw/proposePOSTPrepare upkeep withdrawal proposal
/api/v1/settings/upkeep/withdraw/executePOSTPrepare upkeep withdrawal execution
/api/v1/redeem-timelocksGETList redeem timelocks
/api/v1/redeem-timelocks/bulkGETBulk redeem timelock lookup
/api/v1/vaults/{chain_id}/{vault_address}/redeem-timelockGETRead one vault’s redeem timelock
Upkeep data drives activation and discoverability in the dashboard. Operators should treat insufficient upkeep as a launch blocker. Current upkeep responses use:
FieldDescription
upkeep_info.balanceCurrent upkeep balance in raw token units.
upkeep_info.tokenUpkeep token address on settings responses.
upkeep_info.threshold.required_balanceRequired upkeep balance for activation.
upkeep_info.threshold.shortfallRemaining amount needed; 0 means the threshold is satisfied.
activation.is_activeWhether the vault is eligible for keeper operations.
activation.is_discoverableWhether the vault is surfaced on public listing responses.
activation.statusactive or insufficient_upkeep.
activation.reasonOptional explanation when inactive.
withdrawal_statusPending withdrawal lifecycle; separate from activation.status.

Merkle Authorization

EndpointMethodDescription
/api/v1/merkle/configs/versionsGETConfig version history
/api/v1/merkle/configs/versionGETSingle config version
/api/v1/merkle/configs/activeGETActive config
/api/v1/merkle/configsPOSTCreate config
/api/v1/merkle/configs/{id}GETGet config by ID
/api/v1/merkle/configs/activatePUTActivate config
/api/v1/merkle/treesGETList trees
/api/v1/merkle/trees/{id}GETGet tree
/api/v1/merkle/proofsGETList proofs
/api/v1/merkle/proofs/lookupGETLookup proof
/api/v1/merkle/generatePOSTGenerate tree
/api/v1/merkle/jobs/{id}GETPoll generation job
/api/v1/merkle/jobsGETList jobs
/api/v1/merkle/syncGETDetermine onchain sync action
/api/v1/merkle/publishPOSTPublish active proof artifact
/api/v1/merkle/publish/jobs/{id}GETPoll publish job
/api/v1/merkle/published/{chain_id}/{vault}GETPublic published tree metadata

Registry

EndpointMethodDescription
/api/v1/registry/yield-sourcesGETBrowse yield sources for operator selection
/api/v1/registry/oraclesGETBrowse oracles for operator selection
/api/v1/registry/hooksGETBrowse hooks for merkle config authoring
/api/v1/registry/token-assetsGETBrowse token metadata
/api/v1/registry/token-assets/{chain_id}/{address}GETRead token metadata
Yield source registry entries include active/inactive state and can carry external provider metadata. Registry create, update, delete, and sync endpoints are registry-maintainer surfaces, not normal third-party operator flows.

Yield Source Whitelist

EndpointMethodDescription
/api/v1/yield-sources/prepare-addPOSTPrepare add transaction
/api/v1/yield-sources/prepare-removePOSTPrepare remove transaction
/api/v1/yield-sources/prepare-update-oraclePOSTPrepare oracle update transaction
/api/v1/yield-sources/prepare-bulk-addPOSTPrepare bulk add transaction
/api/v1/yield-sources/prepare-bulk-removePOSTPrepare bulk remove transaction
/api/v1/yield-sources/prepare-bulk-update-oraclePOSTPrepare bulk oracle update transaction

Users and Permissions

EndpointMethodDescription
/api/v1/usersGETList users for a vault
/api/v1/users/secondary-manager/preparePOSTPrepare add-secondary-manager transaction
/api/v1/users/secondary-manager/remove/preparePOSTPrepare remove-secondary-manager transaction
/api/v1/users/view-onlyPOSTAdd view-only user
/api/v1/users/view-only/{wallet}DELETERemove view-only user
/api/v1/users/{wallet}/display-namePATCHUpdate display name

Session Keys

EndpointMethodDescription
/api/v1/session-keysGETList manager-visible session keys
/api/v1/vaults/{chain_id}/{vault_address}/session-keyGETRead vault session key
/api/v1/vaults/session-key/preparePOSTPrepare session-key grant
/api/v1/vaults/session-key/revoke/preparePOSTPrepare session-key revoke
OMS owns additional readiness and rotation endpoints for strategy automation.

Notification Channels

EndpointMethodDescription
/api/v1/notification-channelsGET/POSTList or create channels
/api/v1/vaults/{chain_id}/{vault_address}/notification-channelsGETList vault channels
/api/v1/vaults/{chain_id}/{vault_address}/notification-channels/{channel_id}POSTAttach channel
/api/v1/vaults/{chain_id}/{vault_address}/notification-channels/{channel_id}DELETEDetach vault channel
Providers include Slack, webhook, and websocket channels.

Pause and Services

EndpointMethodDescription
/api/v1/vaults/pause-statusGETBatch pause status
/api/v1/vaults/emergency-pause/preparePOSTPrepare onchain pause
/api/v1/vaults/emergency-unpause/preparePOSTPrepare onchain unpause
/api/v1/vaults/{chain_id}/{vault}/servicesGETList keeper services
/api/v1/vaults/{chain_id}/{vault}/services/{name}/pausePUTPause service
/api/v1/vaults/{chain_id}/{vault}/services/{name}/resumePUTResume service
/api/v1/vaults/{chain_id}/{vault}/services/enabledPUTBulk enable/disable services
/api/v1/vaults/{chain_id}/{vault}/services/{name}PUTUpdate service config
/api/v1/services/bulkPUTBulk service update

Analytics and Audit

Analytics endpoints live under:
/api/v1/vaults/{chain_id}/{address}/analytics/*
Audit endpoints:
EndpointMethodDescription
/api/v1/audit/logsGETQuery audit trail
/api/v1/audit/logs/{id}GETSingle audit row
/api/v1/audit/exportGETExport audit rows