Allbridge Core
LAUNCH APP
  • What is Allbridge Core?
  • ⚪Product
    • How does Allbridge Core work?
      • Fees
      • Messaging protocols
      • Allbridge Core contracts
      • Token value
      • Liquidity provision
    • FAQ
      • How to bridge with Allbridge Core via mobile TronLink
      • Allbridge Core guide
      • How to provide liquidity?
      • What is an Approve Transaction?
    • Security audits
    • Ecosystem reports
    • Leaderboard
  • ⚪Allbridge Core SDK
    • Get started
    • Guides
      • General
        • Token info
        • Send
        • Swap
        • Paying fees with stables
      • EVM
        • Transfer
        • Allowance and approve
      • Solana
        • Transfer
        • Swap
      • Tron
      • Stellar
        • Transfer
      • Utilities
        • Amount and fee calculations
        • Transfer time
        • Extra gas limits
    • Technical reference
    • Referral program
    • Allbridge Core REST API
  • ⚪official support
    • Telegram
    • Discord
  • ⚪Social links
    • Twitter
    • Discord
    • Telegram announcements
    • Telegram group
    • Medium
    • Reddit
  • ⚪Allbridge ecosystem
    • Allbridge Classic
    • Allbridge BaaS
Powered by GitBook
On this page

Was this helpful?

  1. Allbridge Core SDK
  2. Guides
  3. EVM

Transfer

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);
PreviousEVMNextAllowance and approve

Last updated 8 months ago

Was this helpful?

⚪
Full example