Skip to main content

Method Signature

align.crossChain.createTransfer(
  customerId: string,
  data: CreateCrossChainTransferRequest
): Promise<CrossChainTransfer>

Parameters

customerId
string
required
The unique customer identifier (UUID format)
source_network
string
required
Source blockchain: ethereum, polygon, base, arbitrum, solana, tron
source_token
'usdc' | 'usdt' | 'eurc'
required
Token to transfer
destination_network
string
required
Destination blockchain
destination_token
'usdc' | 'usdt' | 'eurc'
required
Token to receive (usually same as source)
amount
string
required
Amount to transfer
destination_address
string
required
Wallet address on destination chain

Example

import Align from "@tolbel/align";

const align = new Align({
  apiKey: process.env.ALIGN_API_KEY!,
  environment: "sandbox",
});

// Transfer USDC from Ethereum to Polygon
const transfer = await align.crossChain.createTransfer(customerId, {
  source_network: "ethereum",
  source_token: "usdc",
  destination_network: "polygon",
  destination_token: "usdc",
  amount: "100.00",
  destination_address: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
});

console.log(`Transfer ID: ${transfer.id}`);
console.log(`Status: ${transfer.status}`);

Supported Routes

SourceDestinationTokens
EthereumPolygon, Base, ArbitrumUSDC, USDT
PolygonEthereum, Base, ArbitrumUSDC, USDT, EURC
BaseEthereum, Polygon, ArbitrumUSDC
ArbitrumEthereum, Polygon, BaseUSDC
SolanaEthereum, PolygonUSDC
Cross-chain transfers typically complete within 10-30 minutes depending on network congestion.