import { Turnkey } from "@turnkey/sdk-server";const turnkeyClient = new Turnkey({ apiBaseUrl: "https://api.turnkey.com", apiPublicKey: process.env.API_PUBLIC_KEY!, apiPrivateKey: process.env.API_PRIVATE_KEY!, defaultOrganizationId: process.env.ORGANIZATION_ID!,});const response = await turnkeyClient.apiClient().ethSendTransaction({ from: "<string> (A wallet or private key address to sign with. This does not support private key IDs.)", caip2: "<eip155:1>" // CAIP-2 chain ID (e.g., 'eip155:1' for Ethereum mainnet)., sponsor: true // Whether to sponsor this transaction via Gas Station. If false or unset, the EOA pays gas. A single call uses EIP-1559; multiple calls use EIP-7702 batch execution via Gas Station., nonce: "<string> (Outer transaction nonce. Omit to auto-fetch.)", gasLimit: "<string> (Maximum amount of gas for the outer transaction. Omit to auto-estimate.)", maxFeePerGas: "<string> (Maximum total fee per gas unit (base fee + priority fee) in wei. Omit to auto-estimate.)", maxPriorityFeePerGas: "<string> (Maximum priority fee (tip) per gas unit in wei. Omit to auto-estimate.)", deadline: "<string> (Unix timestamp in seconds for EIP-712 execution deadline. Only used when sponsor=true.)", gasStationNonce: "<string> (The gas station delegate contract nonce used in the BatchExecution EIP-712 message. Valid for sponsored transactions and non-sponsored multi-call batches. Omit to auto-fetch. Use the nonces endpoint for replay protection.)", calls: [{ // Ordered list of calls to execute. Must contain between 1 and 50 entries. A single entry with sponsor=false uses EIP-1559; multiple entries use EIP-7702 batch execution via Gas Station., to: "<string> (Recipient address as a hex string with 0x prefix.)", value: "<string> (Amount of native asset to send in wei.)", data: "<string> (Hex-encoded call data for contract interactions.)", }]});
import { Turnkey } from "@turnkey/sdk-server";const turnkeyClient = new Turnkey({ apiBaseUrl: "https://api.turnkey.com", apiPublicKey: process.env.API_PUBLIC_KEY!, apiPrivateKey: process.env.API_PRIVATE_KEY!, defaultOrganizationId: process.env.ORGANIZATION_ID!,});const response = await turnkeyClient.apiClient().ethSendTransaction({ from: "<string> (A wallet or private key address to sign with. This does not support private key IDs.)", caip2: "<eip155:1>" // CAIP-2 chain ID (e.g., 'eip155:1' for Ethereum mainnet)., sponsor: true // Whether to sponsor this transaction via Gas Station. If false or unset, the EOA pays gas. A single call uses EIP-1559; multiple calls use EIP-7702 batch execution via Gas Station., nonce: "<string> (Outer transaction nonce. Omit to auto-fetch.)", gasLimit: "<string> (Maximum amount of gas for the outer transaction. Omit to auto-estimate.)", maxFeePerGas: "<string> (Maximum total fee per gas unit (base fee + priority fee) in wei. Omit to auto-estimate.)", maxPriorityFeePerGas: "<string> (Maximum priority fee (tip) per gas unit in wei. Omit to auto-estimate.)", deadline: "<string> (Unix timestamp in seconds for EIP-712 execution deadline. Only used when sponsor=true.)", gasStationNonce: "<string> (The gas station delegate contract nonce used in the BatchExecution EIP-712 message. Valid for sponsored transactions and non-sponsored multi-call batches. Omit to auto-fetch. Use the nonces endpoint for replay protection.)", calls: [{ // Ordered list of calls to execute. Must contain between 1 and 50 entries. A single entry with sponsor=false uses EIP-1559; multiple entries use EIP-7702 batch execution via Gas Station., to: "<string> (Recipient address as a hex string with 0x prefix.)", value: "<string> (Amount of native asset to send in wei.)", data: "<string> (Hex-encoded call data for contract interactions.)", }]});
Ordered list of calls to execute. Must contain between 1 and 50 entries. A single entry with sponsor=false uses EIP-1559; multiple entries use EIP-7702 batch execution via Gas Station.
import { Turnkey } from "@turnkey/sdk-server";const turnkeyClient = new Turnkey({ apiBaseUrl: "https://api.turnkey.com", apiPublicKey: process.env.API_PUBLIC_KEY!, apiPrivateKey: process.env.API_PRIVATE_KEY!, defaultOrganizationId: process.env.ORGANIZATION_ID!,});const response = await turnkeyClient.apiClient().ethSendTransaction({ from: "<string> (A wallet or private key address to sign with. This does not support private key IDs.)", caip2: "<eip155:1>" // CAIP-2 chain ID (e.g., 'eip155:1' for Ethereum mainnet)., sponsor: true // Whether to sponsor this transaction via Gas Station. If false or unset, the EOA pays gas. A single call uses EIP-1559; multiple calls use EIP-7702 batch execution via Gas Station., nonce: "<string> (Outer transaction nonce. Omit to auto-fetch.)", gasLimit: "<string> (Maximum amount of gas for the outer transaction. Omit to auto-estimate.)", maxFeePerGas: "<string> (Maximum total fee per gas unit (base fee + priority fee) in wei. Omit to auto-estimate.)", maxPriorityFeePerGas: "<string> (Maximum priority fee (tip) per gas unit in wei. Omit to auto-estimate.)", deadline: "<string> (Unix timestamp in seconds for EIP-712 execution deadline. Only used when sponsor=true.)", gasStationNonce: "<string> (The gas station delegate contract nonce used in the BatchExecution EIP-712 message. Valid for sponsored transactions and non-sponsored multi-call batches. Omit to auto-fetch. Use the nonces endpoint for replay protection.)", calls: [{ // Ordered list of calls to execute. Must contain between 1 and 50 entries. A single entry with sponsor=false uses EIP-1559; multiple entries use EIP-7702 batch execution via Gas Station., to: "<string> (Recipient address as a hex string with 0x prefix.)", value: "<string> (Amount of native asset to send in wei.)", data: "<string> (Hex-encoded call data for contract interactions.)", }]});