GET · /api/v1/wallet/address/list-by-user

查询用户地址

按 externalUserId 查询该用户在当前应用下所有公链上已分配的充值地址。返回扁平数组,无分页。

EVM 系一次创建、多链可收

chainCode=ETH 调用 创建充值地址 时,会给该应用所有已开通的同 namespace(EVM 系)链同时创建地址。 因此同一用户在 ETH / BSC / POLYGON 上的地址通常是相同的字符串但各自独立记录—— 本接口会一次返回全部。
GET/api/v1/wallet/address/list-by-user HMAC

Header 参数

X-Api-Key
string required
应用 apiKey。沙箱前缀 pk_test_,正式 pk_live_
例: pk_test_4f9d8ab1c0e74...
X-Timestamp
integer (UNIX 毫秒) required
请求发起时刻的 UNIX 毫秒时间戳(13 位整数)。与服务端时差不能超过 ±300000ms(5 分钟)。
例: 1746450000000
X-Nonce
string required
本次请求的随机串,建议 UUID v4 或 16 字节 hex。同一 (apiKey, nonce) 在 10 分钟窗口内不可重复。
例: 8e3a1c2f7b6d4a90
X-Signature
string required
HMAC-SHA256 签名(小写 hex,64 字符)。算法:HMAC(secret, METHOD + "\n" + PATH + "\n" + ts + "\n" + nonce + "\n" + SHA256(body))。详见 鉴权章节
例: 6e4a8c1f...(64 字符)

Query 参数

externalUserId
string required
商户侧的用户唯一标识。返回该用户在当前应用下所有已开通公链上的地址。
例: user_1024

请求示例

# 签名算法(stringToSign / 4 个 header)见 /docs/api/auth
API_KEY=pk_test_xxx
SECRET=sk_test_xxx
METHOD=GET
REQ_PATH=/api/v1/wallet/address/list-by-user
TS=$(( $(date +%s) * 1000 ))
NONCE=$(uuidgen | tr -d '-' | tr '[:upper:]' '[:lower:]')
# GET 无 body,body hash = SHA256('') 固定值
BODY_SHA=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SIG=$(printf "%s\n%s\n%s\n%s\n%s" "$METHOD" "$REQ_PATH" "$TS" "$NONCE" "$BODY_SHA" \
  | openssl dgst -sha256 -hmac "$SECRET" -hex | awk '{print $2}')

curl -G "https://api.pqpa.com$REQ_PATH" \
  -H "X-Api-Key:    $API_KEY" \
  -H "X-Timestamp:  $TS" \
  -H "X-Nonce:      $NONCE" \
  -H "X-Signature:  $SIG" \
  --data-urlencode "externalUserId=user_1024"

响应

Response
200OK
{
  "code": 0,
  "data": [
    {
      "id": 88001,
      "chainCode": "ETH",
      "address": "0xab12cd34ef56...",
      "memo": null,
      "addressType": "USER",
      "externalUserId": "user_1024",
      "status": "ACTIVE"
    },
    {
      "id": 88003,
      "chainCode": "BSC",
      "address": "0xab12cd34ef56...",
      "memo": null,
      "addressType": "USER",
      "externalUserId": "user_1024",
      "status": "ACTIVE"
    },
    {
      "id": 88005,
      "chainCode": "POLYGON",
      "address": "0xab12cd34ef56...",
      "memo": null,
      "addressType": "USER",
      "externalUserId": "user_1024",
      "status": "ACTIVE"
    },
    {
      "id": 88010,
      "chainCode": "TRON",
      "address": "TLa2f6VPqDgRE67v1736cZbF1Kkkcd8...",
      "memo": null,
      "addressType": "USER",
      "externalUserId": "user_1024",
      "status": "ACTIVE"
    }
  ],
  "msg": ""
}

data[] 元素字段说明

id
integer required
地址记录 id(系统内部主键)。
chainCode
string required
所属公链 code。
address
string required
链上地址,原始大小写形式(EVM 走 EIP-55 校验和)。
memo
string? optional
Memo 链(XRP / XLM / EOS)下发的 memo/tag;非 memo 链恒为 null
addressType
string required
地址类型,用户充值地址固定为 USER
externalUserId
string required
回填入参的商户侧用户标识。
status
string required
地址状态,如 ACTIVE

Memo 链务必同时展示 memo

XRP / XLM / EOS 等 memo 链上,memo 字段不为 null。 商户必须同时向用户展示 address 和 memo—— 只填地址不填 memo 会导致到账无法归户。

下一步