開発者ドキュメント

USDC 決済連携ガイド

5ネットワークの USDC 版・コントラクトまたは Mint・桁数を確認します。対応と現在の稼働状態は異なります。

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

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

メインネットの対応トークン識別情報
ネットワーク通貨コントラクト / Mintトークンの小数桁数
ERC20 network logoERC20USDC0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB486
BEP20 network logoBEP20USDC0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d18
POLYGON network logoPOLYGONUSDC0x3c499c542cEF5E3811e1192ce70d8cC03d5c33596
SOLANA network logoSOLANAUSDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v6
BASE network logoBASEUSDC0x833589fcd6edb6e08f4c7c32d4f71b54bda029136

販売者の設定

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

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

Ethereum、Polygon、Solana、Base はネイティブ USDC を使用します。BNB Smart Chain は18桁の Binance-Peg USDC を使用します。TRC20 は USDC 非対応です。USDbC、USDC.e、他のコントラクトは代用できません。

  • ここで ERC20 は Ethereum メインネットを指し、この規格の全ネットワークではありません。同じ 0x アドレスが複数 EVM ネットワークに存在し得るため、注文のネットワークとトークン版を使ってください。USDC は Circle のネイティブ版で、ブリッジ版は代用できません。

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

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":"USDC","network":"ERC20","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 を省略せず全額支払ってください。システムは切り上げと小額の調整で同一ウォレットの注文を区別する場合があります。独自に丸めたり切り捨てたりしないでください。

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

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