Skip to main content
POST
/
platform
/
admin
/
custodians
/
wallets-to-creating
Get wallet data for custodian
curl --request POST \
  --url https://api.example.com/platform/admin/custodians/wallets-to-creating \
  --header 'Content-Type: application/json' \
  --data '{}'
{
  "isSuccess": true,
  "isFailure": false,
  "error": null,
  "value": {
    "id": 42,
    "name": "Example"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.numium.com/llms.txt

Use this file to discover all available pages before exploring further.

Description

Connects to the external custodian provider (e.g., Fireblocks) using provided API credentials to retrieve wallet data and validate the connection before creating a custodian. This helps verify credentials and preview which wallets will be imported.

Input

Expects a JSON body containing:
  • tenantId (long, required) — Identifier of the tenant.
  • accountName (string, required) — Display name for the custodian account.
  • provider (string, required) — Name of the custody provider (e.g., “Fireblocks”).
  • apiKey (string, required) — API key for accessing the provider’s API.
  • secretApiKey (string, required) — Secret key for API authentication.

Output

Returns a response object containing:
  • walletsCount (int) — Number of wallets found in the custodian account.
  • validationStatus (bool) — Whether API credentials are valid.
  • message (string) — Additional information about the validation.

Examples

Request
{
  "tenantId": 1024,
  "accountName": "Production Treasury",
  "provider": "Fireblocks",
  "apiKey": "8f6a4d2e-5c9b-4e1a-8d7f-9c3e5b2a4f6d",
  "secretApiKey": "MIICXAIBAAKBgQC..."
}
Response (200 OK)
{
  "data": {
    "walletsCount": 15,
    "validationStatus": true,
    "message": "Successfully connected to Fireblocks and retrieved wallet data"
  },
  "isSuccess": true
}

Errors

  • 400 Bad Request: Invalid credentials or missing required fields.
  • 401 Unauthorized: Authentication required but not provided.
  • 403 Forbidden: Caller does not have permission to access custodian data.
  • 500 Internal Server Error: Connection to custodian provider failed or unexpected error occurred.

Notes

This endpoint validates the API credentials against the external provider before creating a custodian. The secretApiKey should be the full private key for the provider.

Query Parameters

api-version
string | null

Body

application/json

The request containing tenant identifier, provider details, and API credentials.

Describes the data required to fetch wallet information prior to creating a custodian.

tenantId
integer<int64>

Identifier of the tenant preparing the custodian.

Example:

1024

accountName
string

Name that identifies the custodian account.

Example:

"Alpha Treasury Desk"

provider
enum<string>

Provider that will host the custodian.

Available options:
Unknown,
Fireblocks,
Venly,
Bitgo,
AnchorageDigital,
CoinbaseCustody,
FireblocksSandbox
Example:

"Fireblocks"

apiKey
string

Primary API key issued by the custodian provider.

Example:

"fd0cdd6d-2f89-46f0-9904-ff5a1bb5f6c3"

secretApiKey
string

Secret API key or credential required to authenticate with the provider.

Example:

"super-secret-key"

Response

Wallet data retrieved successfully.

Wrapper for API operation results containing success status, error information, and return value.

isSuccess
boolean

True if the operation completed successfully, false otherwise.

Example:

true

isFailure
boolean

True if the operation failed, false otherwise.

Example:

false

error
object

Error information returned when the operation fails.

Example:
{
  "code": "ValidationError",
  "message": "The request parameters failed validation.",
  "info": [
    "The Name field is required.",
    "The Id field must be greater than 0."
  ]
}
value
object

The result value returned when the operation is successful.

Example:
{
  "existingWalletsCount": 4,
  "existingWalletsNetworkCount": 2,
  "unsupportedWalletsCount": 1,
  "unsupportedWalletsNetworkCount": 1,
  "archivedWalletsCount": 3,
  "newWalletsCount": 5,
  "newWalletsNetworkCount": 2,
  "requestId": "1e2f6d7c-8a91-4bc3-951f-12d34f56a789",
  "isWrongCredentials": false
}