Creating/Maintaining wallets for your end users is incredibly easy with our APIs. Just remember that you'll need to maintain the relationship between your end user and their wallet since all wallets are scoped to a single integrator Organization object.

Creating a new wallet

This endpoint will create a new wallet and have an associated name that you supply in the call (searchable). The assets array will specify what blockchain/tokens you plan on holding for those wallets (and generate wallet addresses for those specified). You can always add additional blockchain support for wallets if you plan on expanding the assets you're working with with an additional API call.

POST /v1/wallets

//Sample Request
{
  "name": "John Doe's Wallet",
  "assets": [
          {
               "chain": "polygonMainnet",
               "assetType": "matic"
          }
     ]
}

Retrieving all available wallets

GET /v1/wallets

//Sample Response
"data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "John Doe's Wallet"
    }
  ],
  "meta": {
    "pageCount": 0,
    "resourceCount": 0
  }

Retrieve a specific wallet

GET /v1/wallets/{walletId}

//Sample Response
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "John Doe's Wallet",
  "addresses": [
    {
      "network": "mainnet",
      "assetType": "ether",
      "address": "0x555d6b6936984eF0Ce28bd8323C3c1A880510e49"
    }
  ]
}

Add an address to a wallet

When support for new assets are added, you'll be able to create an address for each asset.

POST /v1/wallets/{walletId}/addresses

//Sample Request
{
  "chain": "mainnet",
  "assetType": "btc"
}