開発者ドキュメント

USDT 決済導入ガイド

6 つのネットワークで USDT を受け取ります。対応するトークンの種類、コントラクトまたは Mint と小数桁数を確認し、署名付き注文と支払い確認を実装します。

メインネットの対応トークン識別情報

コントラクトと Mint は初期設定値であり、現在の稼働状態ではありません。注文作成には有効なネットワーク・資産と販売者ウォレットが必要です。必ず API の payment.address に送金し、コントラクトや Mint には送金しないでください。

メインネットの対応トークン識別情報
ネットワーク通貨コントラクト / Mintトークンの小数桁数
TRC20 network logoTRC20USDTTR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t6
ERC20 network logoERC20USDT0xdAC17F958D2ee523a2206206994597C13D831ec76
BEP20 network logoBEP20USDT0x55d398326f99059fF775485246999027B319795518
POLYGON network logoPOLYGONUSDT0xc2132D05D31c914a87C6611C10748AEb04B58e8F6
SOLANA network logoSOLANAUSDTEs9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB6
BASE network logoBASEUSDT0xfde4c96c8593536e31f229ea8f37b2ada2699bb26

販売者の設定

  1. ネットワークの受取ウォレットと、有効な Webhook URL・キーを設定してください。API Key と HMAC キーはサーバーのみで保管します。
  2. network / currency の組み合わせが利用可能か確認してください。RPC・ネットワーク・資産の設定は管理者が行い、販売者はスキャナーを設置する必要はありません。
  3. レスポンスの payment.amount、payment.address、currency、network、有効期限を表示してください。QR データは画像ではありません。
  4. 署名検証・重複排除・イベントの永続保存後に HTTP 2xx を返し、冪等に注文を処理してください。

ネットワークと資産の注意事項

USDT は 6 つのネットワークに対応します。設定済みの BNB Smart Chain トークンは小数 18 桁、他の 5 ネットワークは 6 桁です。これは注文金額の識別精度とは異なります。Base では設定済みのブリッジ版 USDT を使用し、BoltUtil 自体はネットワーク間の送金を行いません。注文のネットワークと掲載されたトークンを選択してください。同じシンボルやアドレスでも、ネットワークやトークンは互換ではありません。

  • TRC20 は TRON の API コードで、USDT のみ対応し currency=USDC は使えません。USDT のトークン精度は6桁ですが、支払額は API の値をそのまま使用してください。確認は設定とスキャン結果に従い、秒数は保証しません。

署名付きリクエストとレスポンス例

25.00 は形式を示す例です。実際の注文金額を使い、資産の最低額を満たしてください。住所・注文・ハッシュは架空です。コピーした cURL / Java はリクエストを送信します。実行前に自分のキーを設定してください。

create / cURL
# Run against your account only when ready; this sends an API request.
: "${BOLTUTIL_API_KEY:?Set your complete API Key}"
: "${BOLTUTIL_WEBHOOK_SECRET:?Set your Webhook secret}"
timestamp=$(python3 -c 'import time; print(int(time.time()*1000))')
body='{"amount":"25.00","currency":"USDT","network":"TRC20","externalOrderId":"INV-20260209-99281"}'
signature=$(printf '%s.%s' "$timestamp" "$body" | openssl dgst -sha256 -hmac "$BOLTUTIL_WEBHOOK_SECRET" | awk '{print $NF}')

curl --request POST "https://api.boltutil.com/api/v1/order/create" \
  --header 'Content-Type: application/json' \
  --header "X-Bolt-Key: $BOLTUTIL_API_KEY" \
  --header "X-Bolt-Timestamp: $timestamp" \
  --header "X-Bolt-Signature: $signature" \
  --data-binary "$body"

アドレス、トランザクション ハッシュ、注文は例です。これらを独自のテスト data に置き換えます。

Base URL

PROD
https://api.boltutil.com
注文パラメータ一覧 →

確認とコールバック処理

検出と確認は異なります。状態と検証済みコールバックを使ってください。PAID は確認待ちです。CONFIRMED / COMPLETED は手動承認による場合もあるため paidAmount、shortfallAmount、settlementType を確認してください。COMPLETED は商品提供を証明しません。

連携に関する質問

対応通貨は今すぐ使えますか?

必ずしも使えるとは限りません。ネットワーク・資産が有効で、ウォレットと Webhook の設定が必要です。静的な一覧は現在の稼働状態を示しません。

支払額を四捨五入できますか?

payment.amount を省略せず全額支払ってください。システムは切り上げと小額の調整で同一ウォレットの注文を区別する場合があります。独自に丸めたり切り捨てたりしないでください。

残高が増えたら商品を提供できますか?

注文の確認結果と通知の真正性を確認してください。誤ったネットワーク・トークン・金額や重複通知には対応が必要です。残高増加だけで支払い結果は判断できません。