Skip to content

evm.sendTransaction

Send EVM chain transactions via the evm object. Supports native coin and ERC20 token transfers.

Currently supported:

  • Chains: Ethereum Mainnet (ETH), BSC Mainnet (BNB)
  • Tokens: USDT, USDC

Supported Chains and Tokens

ChainchainIdNative CoinUSDT ContractUSDC Contract
Ethereum Mainnet1ETH0xdAC17F958D2ee523a2206206994597C13D831ec70xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
BSC Mainnet56BNB0x55d398326f99059fF775485246999027B31979550x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d

Usage

Transfer Native Coin

ts
const result = await Turing.evm.sendTransaction({
  chainId: 1,
  toAddress: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
  amount: "1000000000000000000", // 1 ETH (18 decimals)
  broadcastEnabled: true,
});

if (result.txid) {
  console.log("Transaction hash:", result.txid);
}

Transfer ERC20 Token

ts
// Transfer USDT on BSC
const result = await Turing.evm.sendTransaction({
  chainId: 56,
  contractAddress: "0x55d398326f99059fF775485246999027B3197955",
  toAddress: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
  amount: "1000000000000000000", // 1 USDT (18 decimals)
  broadcastEnabled: true,
});

// Transfer USDC on Ethereum Mainnet
const result2 = await Turing.evm.sendTransaction({
  chainId: 1,
  contractAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  toAddress: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
  amount: "1000000", // 1 USDC (6 decimals)
  broadcastEnabled: true,
});

Without Broadcasting

ts
const result = await Turing.evm.sendTransaction({
  chainId: 1,
  toAddress: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
  amount: "1000000000000000000",
  broadcastEnabled: false,
});

if (result.txraw) {
  console.log("Raw transaction data:", result.txraw);
}

Parameters

ts
interface EvmSendTransaction {
  chainId: number;            // EVM chain ID: 1 (Ethereum Mainnet) or 56 (BSC Mainnet)
  contractAddress?: string;   // ERC20 contract address; empty for native coin (ETH/BNB)
  toAddress: string;          // Recipient address
  amount: string;             // Transfer amount in the token's smallest unit
  broadcastEnabled?: boolean; // Whether to broadcast, defaults to true
}
FieldTypeDescription
chainIdnumberEVM chain ID — 1 for Ethereum Mainnet, 56 for BSC Mainnet
contractAddressstring(Optional) ERC20 contract address. Omit for native coin transfers
toAddressstringRecipient address
amountstringTransfer amount in the token's smallest unit (e.g. wei for ETH)
broadcastEnabledboolean(Optional) Whether to broadcast the transaction. Defaults to true

Returns

ts
interface EvmSendTransactionResponse {
  txid?: string;  // Transaction hash (returned on successful broadcast)
  txraw?: string; // Raw transaction data (returned when broadcastEnabled is false)
  error?: string; // Error message
}
FieldTypeDescription
txidstringTransaction hash on successful broadcast
txrawstringRaw transaction data when broadcastEnabled is false
errorstringError message if the transaction fails

Error Handling

ts
const result = await Turing.evm.sendTransaction({
  chainId: 1,
  toAddress: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
  amount: "1000000000000000000",
});

if (result.error) {
  console.error("Transaction failed:", result.error);
  return;
}

console.log("Success! txid:", result.txid);