Approve the token transfer

Before sending tokens, the bridge has to be authorized to use the tokens of the owner. This is done by calling the approve method on the SDK instance.

For Ethereum USDT (due to the specifics of the USDT contract): If the current allowance is not 0, this function will perform an additional transaction to set the allowance to 0 before setting the new allowance value.

const rawTransactionApprove = await sdk.bridge.rawTxBuilder.approve({
  token: sourceToken,
  owner: accountAddress,
const approveTxReceipt = await sendRawTransaction(rawTransactionApprove as RawEvmTransaction);
console.log("approve tx id:", approveTxReceipt.transactionHash);

Send Tokens

Initiate the raw transaction of token transfer with the SDK instance:

const rawTransaction = sdk.bridge.rawTxBuilder.send({
  amount: "1.01",
  fromAccountAddress: fromAddress,
  toAccountAddress: toAddress,
  sourceToken: sourceToken,
  destinationToken: destinationToken,
  messenger: Messenger.ALLBRIDGE,
const txReceipt = await sendRawTransaction(rawTransactionApprove as RawEvmTransaction);
console.log("tx id:", txReceipt.transactionHash);

Last updated