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);Live Example
Live Example
Turing.evm.sendTransaction()
Unknown
Use the wallet control in the top navigation before running this example.
Active Wallet NetworkUnknown
Switch the wallet to the matching EVM network or All networks first.
Switch the wallet to the matching EVM network or All networks first.
Code Preview
const result = await Turing.evm.sendTransaction({
"chainId": 1,
"toAddress": "0x000000000000000000000000000000000000dead",
"amount": "1000000000000000",
"broadcastEnabled": false
});
console.log(result);