Wallet linking

Link wallets to an account

Before an account can move money to or from any blockchain wallet (external or a Due wallet), the wallet must be linked to that account. Linking also enables Due to monitor and screen the wallet for compliance.


Endpoints

  • Create wallet (link) POST /v1/wallets Links a wallet to the account.

    Headers

    • Authorization: Bearer <token>
    • Accept: application/json
    • Content-Type: application/json
    • Due-Account-Id: <account_id> (required)

    Body (evm)

    {
      "address": "evm:0x1b7b5e051497f526ed41d177Bef603d51320322D"
    }

    Body (starknet)

    {
      "address": "starknet:0x0322142e7b058c6a051d7a298e99ed9b8b5c6a5e3e4e689237a37b570287d2d3"
    }

    cURL

    curl --request POST https://api.due.network/v1/wallets \
      --header "Authorization: Bearer $DUE_API_KEY" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json" \
      --header "Due-Account-Id: acct_123" \
      --data '{ "address": "evm:0x1b7b5e051497f526ed41d177Bef603d51320322D" }'

    Result

    • 200 OK with the newly linked wallet record.

  • List wallets GET /v1/wallets Returns all wallets linked to the account (external and Due-issued).

    Headers

    • Authorization: Bearer <token>
    • Accept: application/json
    • Due-Account-Id: <account_id> (required)

    cURL

    curl --request GET https://api.due.network/v1/wallets \
      --header "Authorization: Bearer $DUE_API_KEY" \
      --header "Accept: application/json" \
      --header "Due-Account-Id: acct_123"

    Result

    • 200 OK with an array of wallet records linked to the account.

Typical flow

  1. Link the wallet the account will use:

    • External wallet → call Create wallet with its address.
    • Due wallet → create/obtain the Due wallet, then ensure it’s linked (same endpoint).
  2. Verify it’s linked with List wallets.

  3. Move funds using Transfers API, input wallet_id into the destination or sender fields;