Receive from an External Wallet

Fetch/Create Custodial Wallet

POST /services/wallets

Creates a wallet for specified coin/token for that customer. If wallet already created during customer onboarding, returns the on-chain deposit wallet address for a given customer + currency.
This is the wallet address your user should send funds to.


Authentication & Required Headers

All standard partner authentication applies.

Required Headers

HeaderDescription
Authorization: <token>Your partner authentication token.
partnerId: <string>Your assigned Partner ID (e.g., h3gbsd98jS7sSW938). If missing, you will receive: "Missing request header 'partnerId' for method parameter of type String'".

Query Parameters

All parameters must be sent in the URL query string

NameTypeRequiredDescription
customerIdstringYesUnique customer identifier used across Coinme APIs.
currencystringYesCurrency symbol for the chain/asset combo. Example: USDC_POL. Endpoint only takes 1 token/coin at a time.
correlationIdstringNo (recommended)Trace ID used for debugging and support.


Successful Response (200)

{
  "data": {
    "accountId": "0837483434346836473",
    "address": "0x97dgahdgaGH79ahdga97dhG3893GGsS83322",
    "currencySymbol": "USDC_POL",
    "currencyName": "USDC_POL",
    "walletAddress": "0x97dgahdgaGH79ahdga97dhG3893GGsS83322",
    "walletId": "20399_USDC_POLYGON_TEST_444"
  },
  "errorResponse": null
}

Response Field Reference

FieldDescription
accountIdMirrors the customerId submitted in the request.
addressWallet deposit address.
walletAddressSame as address
currencySymbolThe chain-specific currency code, e.g. USDC_POL.
currencyNameThe chain-specific currency code
walletIdInternal system identifier for the wallet.

Error Responses

The API always wraps errors in a standard envelope:

{
  "data": null,
  "errorResponse": {
    "timestamp": "2025-11-18T07:27:18.576590102Z",
    "httpStatus": 200,
    "path": "POST /services/wallet",
    "errorData": [
      {
        "errorCode": "291-406-202-667",
        "message": "Required String parameter 'currency' is not present"
      }
    ]
  }
}

Common Error Conditions

ScenarioExample Error
Missing partnerId"Missing request header 'partnerId' for method parameter of type String"
Missing customerId"Required String parameter 'accountId' is not present"
Missing currency"Required String parameter 'currency' is not present"

Example Request

cURL

curl -X POST 'https://caas-staging.coinme.com/services/wallets?customerId=0837483434346836473&currency=USDC_POL&correlationId=trace_12345' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \

List Wallets for a Customer

GET /services/wallets

Returns all deposit wallets configured for a given customer.


Query Parameters

NameTypeRequiredDescription
customerIdstringYesThe customer identifier assigned by your system.

Successful Response (200)

{
  "walletAddresses": [
    {
      "walletAddress": "0x9BBA1ccAfBbE5D729435C748019bB2EF3a7D8cE2",
      "currencyName": "USDC_POL",
      "currencySymbol": "USDC_POL",
      "assetId": "19630",
      "chain": "Polygon"
    }
  ]
}

Field Reference

FieldDescription
walletAddressOn-chain deposit address for receiving funds.
currencyNameToken/Coin name.
currencySymbolSymbol used when retrieving wallets (e.g., USDC_POL).
assetIdCoinme asset ID.
chainBlockchain network (e.g., Polygon, Ethereum).

Example Request

cURL

curl -X GET 'https://caas-staging.coinme.com/services/wallets?customerId=0837483434346836473' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'partnerId: h3gbsd98jS7sSW938' \