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"
  }
}

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
}