Create Wallet

POST /wallets

Creates new Wallet associated with the given chain (such as Ethereum or Polygon). Returns a new wallet entity.

Required Permissions

NameConditions

Wallets:Create*

Always Required

Wallets:Tags:Add

only required if tags are specified during wallet creation.

Request

PropertyType - OptionalDescription

network*

String

Network used for the wallet (See Supported Networks + Pseudo Network for possible values)

name

String - Optional

Name given to the wallet

tags

String List - Optional

List of tags to be created for this wallet. If specified, requires the Wallets:Tags:Add permission, like the Tag Wallet endpoint.

delayDelegation

Boolean - Optional

Specify this if you want to create the wallet from a service account and later delegate it to an end user. Defaults to false.

delegateTo

String - Optional

ID of the end-user you wish to delegate this wallet to. This End User will then own this wallet, and the wallet will only be able to be used with an End-User's signature.

Example

{
  "network": "EthereumSepolia",
  "name": "my-wallet"
}

Response

The response body is the created Wallet. The Wallet object has those fields:

  • id - string - ID of the wallet

  • network - string - Network used for the wallet (See Supported Networks for possible values)

  • name - (Optional) string - Name given to the wallet

  • address - (Optional) string - Wallet address on its corresponding network. If using a Pseudo Network, this field will not be set.

  • status - string - Status of the wallet, can be one of Active, Archived.

  • signingKey - object - Info about the signing key corresponding to that wallet

    • scheme - string - Supported schemes are ECDSA or EdDSA

    • curve - string - Key curve. Can be ed25519 or secp256k1

    • publicKey - string - Hex-encoded value of public key

  • dateCreated - string - ISO 8601 date string when wallet was created

  • imported - (Optional) boolean - is true if the wallet is an imported wallet.

  • exported - (Optional) boolean - is true if the wallet was already exported at least once.

  • dateExported - (Optional) string - ISO 8601 date string when wallet was first exported.

  • tags - (Optional) string list - List of tags on that wallet

  • custodial - Boolean - Specifies whether the wallet is onwed by and EndUser (non-custodial), or by your organisation (custodial)

200 Response example

{
  "id": "wa-1f04s-lqc9q-xxxxxxxxxxxxxxxx",
  "network": "EthereumSepolia",
  "status": "Active",
  "name": "My awesome wallet",
  "address": "0x00e3495cf6af59008f22ffaf32d4c92ac33dac47",
  "dateCreated": "2023-04-14T20:41:28.715Z",
  "signingKey": {
    "curve": "secp256k1",
    "scheme": "ECDSA",
    "publicKey": "e2375c8c9e87bfcd0be8f29d76c818cabacd51584f72cb2222d49a13b036d84d3d"
  }
}

Last updated