Skip to main content
This guide shows how to bridge USDSM between chains programmatically. The process requires two transactions: an ERC-20 approval and a bridge send.

Prerequisites

  • USDSM tokens on the source chain
  • Native gas token (ETH/XTZ) on the source chain for transaction fees + LayerZero messaging fee
  • The destination chain’s Endpoint ID

Quick Start (ethers.js v6)

Step 1: Set up contracts

Step 2: Build send parameters

Step 3: Quote the messaging fee

Step 4: Approve and send

Step 5: Track delivery

Monitor your transaction on LayerZero Scan:
Delivery typically takes 1–5 minutes depending on the source chain’s block confirmations.

Using viem

Endpoint IDs Reference

Higher confirmation counts mean longer wait before the message is attested by DVNs, but greater finality assurance.

Worked Example: Bridge 10 USDSM from Ethereum to Arbitrum

This is a real mainnet bridge transaction. Here’s exactly what was called:
Result: 10 USDSM burned on Ethereum, 10 USDSM minted on Arbitrum. Delivered in ~3 minutes. Track on LayerZero Scan: View transaction

Partner Integration

If you’re integrating USDSM bridging into a bridge aggregator or dApp:
  1. Approval target is MinterBurner — not the OFT Adapter. Your router/facet must approve the MinterBurner contract on each chain. See the overview for addresses.
  2. Standard OFT interface — The adapter.send() call, parameters, fee quoting, and options encoding are all standard LayerZero V2 OFT. The only non-standard aspect is the approval target.
  3. Token registration data — Contact the StableMint team for integration support and token registry configuration.