---
url: /guide/quickstart.md
---
# 快速开始

## 1. 拿到凭证

开通商户后，平台会提供：

| 凭证 | 用途 |
|---|---|
| API key + API secret | 调用接口时签名。secret 只显示一次，请妥善保存；可按权限范围（`read` / `deposit` / `withdraw`）分别创建，并绑定 IP 白名单 |
| 回调地址 + 回调密钥 | 我们向你的地址推送事件时，用回调密钥签名，你用它验签 |

Base URL：`https://api.dtpg.net`

## 2. 发第一个请求

查询支持的链。每个请求都要带 4 个签名请求头，规则见 [签名认证](./authentication)；各语言的现成代码见 [多语言示例](./examples)。

```bash
# 1. 你的凭证
API_KEY="你的 API key"
API_SECRET="你的 API secret"

# 2. 本次请求
METHOD="GET"
URI_PATH="/v1/chains"
QUERY=""                                # 查询串（规范化后的），没有就留空
BODY=""                                 # 请求体，GET 留空
TIMESTAMP=$(( $(date +%s) * 1000 ))     # 当前时间，Unix 毫秒
NONCE=$(openssl rand -hex 16)           # 32 位随机串

# 3. 待签名串：6 段用换行连接
BODY_HASH=$(printf '%s' "$BODY" | openssl dgst -sha256 | awk '{print $NF}')
STRING_TO_SIGN=$(printf '%s\n%s\n%s\n%s\n%s\n%s' \
  "$METHOD" "$URI_PATH" "$QUERY" "$TIMESTAMP" "$NONCE" "$BODY_HASH")

# 4. 签名 = HMAC-SHA256(API secret, 待签名串)，hex
SIGNATURE=$(printf '%s' "$STRING_TO_SIGN" | openssl dgst -sha256 -hmac "$API_SECRET" | awk '{print $NF}')

# 5. 发请求
curl "https://api.dtpg.net${URI_PATH}" \
  -H "X-Api-Key: $API_KEY" \
  -H "X-Timestamp: $TIMESTAMP" \
  -H "X-Nonce: $NONCE" \
  -H "X-Signature: $SIGNATURE"
```

```json
{ "chains": [{ "code": "TRON", "name": "TRON" }] }
```

## 3. 典型接入流程

1. **给用户分配充值地址**：`POST /v1/wallets/{user_id}/addresses`（幂等，可以每次展示前调用）。
2. **等待充值回调** `deposit.confirmed`：按 `event_id` 去重后给用户加余额。漏收时用 `GET /v1/events` 补拉。
3. **发起提现**：`POST /v1/withdraws`，`biz_id` 用你自己的订单号（幂等键）。
4. **跟踪提现**：回调 `withdraw.broadcasted` → `withdraw.confirmed`（或 `withdraw.failed` / `withdraw.rejected`），也可 `GET /v1/withdraws/{withdraw_id}` 主动查。

::: tip 给 AI / 代码助手
把 [`/llms-full.txt`](/llms-full.txt) 或 [`/openapi.yaml`](/openapi.yaml) 交给你的 AI 助手，它就能按本文档生成接入代码。每页标题下也有「复制为 Markdown」按钮。
:::
