Skip to main content

Reseller API

The Reseller API lets approved resellers create and manage sub-custodians through Portal. Use it to create a sub-custodian, view its environments, suspend or reactivate access, disable signing without suspending, create environment-scoped Portal API keys for that sub-custodian, and retrieve usage statistics.

Authentication

Create a Reseller API key in the Portal dashboard from the Reseller section. Reseller API keys are environment-agnostic and authenticate the reseller itself. Send the key as a bearer token on every request:
A reseller can only access sub-custodians that belong to that reseller.

Create a sub-custodian

Create a sub-custodian with an initial user. Portal creates Development and Production environments for the sub-custodian, enables Portal backup and Alert webhooks, and sends the initial user an onboarding invite.
Sub-custodians created through the Reseller API are active, non-reseller custodians on the Start-Up plan with Portal backup and Alert webhooks enabled in both environments.

List sub-custodians

The response includes each sub-custodian’s environments, users, billing plan, billing status, and Portal API key metadata.

Get reseller statistics

The response includes all-time walletsGenerated and signaturesCompleted metrics. totals summarizes the reseller’s usage across all sub-custodians, while custodians contains the metrics for each sub-custodian. Sub-custodians without activity are included with zero values.

List sub-custodian environments

Use the sub-custodian ID from the create or list response.

Create a sub-custodian Portal API key

Sub-custodian Portal API keys are scoped to one sub-custodian environment. The raw API key value is only returned when the key is created.

Suspend a sub-custodian

Suspending a sub-custodian blocks that custodian’s Portal dashboard users, Portal API keys, client API keys, client session tokens, and service-authenticated requests. Reactivating a suspended sub-custodian sets its billing status back to ACTIVE.

Activate a sub-custodian

Disable signing for a sub-custodian

Suspending blocks everything. If you only want a sub-custodian to stop transacting, disable the SIGN capability instead. Every signing request from that sub-custodian’s clients is rejected across all of its environments, while its dashboard, Portal API keys and client authentication keep working, so clients can still back up, recover and eject their wallets.
Send the same request with "disabled": false to re-enable signing. The current value is returned as disabledCapabilities on every sub-custodian object, including the list sub-custodians response. Only the reseller can change this setting; it is independent of any per-client capability the sub-custodian disables itself.