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
| Chain | chainId | Native Coin | USDT Contract | USDC Contract |
|---|---|---|---|---|
| Ethereum Mainnet | 1 | ETH | 0xdAC17F958D2ee523a2206206994597C13D831ec7 | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
| BSC Mainnet | 56 | BNB | 0x55d398326f99059fF775485246999027B3197955 | 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d |
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
}| Field | Type | Description |
|---|---|---|
chainId | number | EVM chain ID — 1 for Ethereum Mainnet, 56 for BSC Mainnet |
contractAddress | string | (Optional) ERC20 contract address. Omit for native coin transfers |
toAddress | string | Recipient address |
amount | string | Transfer amount in the token's smallest unit (e.g. wei for ETH) |
broadcastEnabled | boolean | (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
}| Field | Type | Description |
|---|---|---|
txid | string | Transaction hash on successful broadcast |
txraw | string | Raw transaction data when broadcastEnabled is false |
error | string | Error 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);