Appearance
Create wallets
Use createDigitalWallet with an authenticated platform user. Choose a wallet type supported by your deployment and provide its required options.
Card partners provision collateral wallets through their card application flow.
Create a wallet
graphql
mutation CreateWallet($walletTypeId: Int!, $label: String!, $options: CreateDigitalWalletTypeSpecificOptions) {
createDigitalWallet(input: { label: $label, walletTypeId: $walletTypeId, walletTypeSpecificOptions: $options }) {
digitalWallet {
id
label
walletTypeId
nativeDepositAddress
}
activationCode
backupCardPdf
errors
warnings
}
}Use the configured type ID in walletTypeId. Type-specific options are defined by CreateDigitalWalletTypeSpecificOptions in the Platform schema browser.
The created wallet is returned in digitalWallet. Check errors, warnings, and whether a wallet was returned before proceeding. When the response includes a backup PDF or activation code, follow the provider's recovery and activation procedure.
Smart wallets
The platform can provision a smart wallet on the server when the required smart wallet account options are absent. Organization provisioning can be paused by deployment configuration; in that case, the mutation returns a warning and no wallet.
Use the configured chain and wallet options for your application rather than assuming that all wallet types share the same provisioning requirements.
Creation failures
Wallet creation can be blocked by an incomplete risk declaration, a pending risk review, a creation rate limit, or a provider failure. Display the returned error and resolve its cause before retrying.
New hot wallet creation is disabled. Existing hot wallets retain their signing support.
Verify creation
Read the returned digitalWallet.id and use it in the wallet balance queries. Once funded, the wallet can be used for transfers and swaps supported by its provider.