開発者ドキュメント

Base のステーブルコイン決済連携

Base のトークン識別情報・パラメータ・確認ルールを確認し、API の金額を省略せず支払います。

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

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

メインネットの対応トークン識別情報
ネットワーク通貨コントラクト / Mintトークンの小数桁数
BASE network logoBASEUSDT0xfde4c96c8593536e31f229ea8f37b2ada2699bb26
BASE network logoBASEUSDC0x833589fcd6edb6e08f4c7c32d4f71b54bda029136

販売者の設定

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

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

  • Base メインネットの chain ID は8453で、Base Sepolia ではありません。販売者がウォレットを設定し、管理者が RPC・ネットワーク有効化を管理します。USDC は Circle ネイティブ版、USDT は設定済みブリッジ版で、USDbC は対象外です。L1-finalized の安全な高さでスキャンします。期限内に送金し、確認は後から届く場合があります。固定時間は保証しません。WooCommerce のインストール済み版と対応ネットワーク・通貨を確認してください。

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

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

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

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