Documentación para desarrolladores

Integración de pagos con stablecoins en Base

Revisa la identidad del token, los parámetros y la confirmación para Base. Paga el importe completo devuelto por la API.

Identidades de tokens de la red principal

Los contratos y Mint son valores preconfigurados, no el estado actual del servicio. Crear pedidos requiere una red y un activo habilitados y una cartera válida. Envía siempre a payment.address devuelto por la API, nunca al contrato o Mint.

Identidades de tokens de la red principal
RedMonedaContrato / MintDecimales del token
BASE network logoBASEUSDT0xfde4c96c8593536e31f229ea8f37b2ada2699bb26
BASE network logoBASEUSDC0x833589fcd6edb6e08f4c7c32d4f71b54bda029136

Configuración del comerciante

  1. Configura una cartera receptora para la red y un Webhook habilitado con URL y clave. Guarda la API Key y la clave HMAC solo en el servidor.
  2. Comprueba la disponibilidad de network / currency. El administrador gestiona RPC, redes y activos; el comerciante no necesita desplegar escáneres.
  3. Muestra payment.amount, payment.address, currency, network y vencimiento de la respuesta. Los datos QR no son una imagen.
  4. Verifica la firma, elimina duplicados y guarda el evento de forma duradera antes de responder HTTP 2xx. Entrega el pedido de forma idempotente.

Notas sobre redes y activos

  • Base mainnet tiene chain ID 8453, no Base Sepolia. El comerciante configura la cartera; el administrador gestiona RPC y habilitación. USDC es nativo de Circle y USDT es la versión puente configurada; USDbC no está incluido. Se escanea con altura segura L1-finalized: paga antes del fin de la cuenta atrás; la confirmación puede llegar después sin tiempo fijo. En WooCommerce, comprueba la versión instalada y sus redes y monedas admitidas.

Ejemplos de solicitud firmada y respuesta

25.00 es un importe de ejemplo. Usa el importe real del pedido y respeta el mínimo del activo. Direcciones, pedidos y hashes son ficticios. El cURL o programa Java copiado envía una solicitud: configura tus propias claves antes de ejecutarlo.

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"

Direcciones, hashes de transacciones y pedidos son ejemplos. Reemplácelos con su propia prueba data.

Base URL

PROD
https://api.boltutil.com
Parámetros completos del pedido →

Confirmación y notificaciones

Detectar no es confirmar. Usa el estado y los callbacks verificados: PAID espera confirmación. CONFIRMED / COMPLETED también pueden resultar de aceptación manual; revisa paidAmount, shortfallAmount y settlementType. COMPLETED no demuestra la entrega del pedido.

Preguntas de integración

¿Una moneda admitida está disponible ahora?

No necesariamente. Deben estar habilitados la red y el activo, con cartera y Webhook válidos. La tabla estática no muestra disponibilidad actual.

¿Puede el cliente redondear el importe?

Paga payment.amount completo. El sistema puede redondear hacia arriba y añadir un pequeño ajuste para distinguir pedidos de la misma cartera. No trunques ni redondees por tu cuenta.

¿Puedo entregar al aumentar el saldo?

Verifica el resultado confirmado y la autenticidad de la notificación. Redes, versiones o importes incorrectos y eventos duplicados requieren tratamiento. El saldo no sustituye al resultado del pedido.