Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.turnkey.com/llms.txt

Use this file to discover all available pages before exploring further.

Construction and Broadcast

EVM

A successful EVM transaction requires:
  • Transaction construction: assembling the payload (recipient, value, calldata)
  • Nonce: set correctly to order transactions and prevent conflicts
  • Gas and tip fee: estimated to ensure inclusion even during network congestion
  • Signature: cryptographically signing the transaction with the sender’s private key
  • Broadcast: submitting the signed transaction to the network and monitoring for inclusion
Turnkey handles all of this for you via ethSendTransaction. Whether or not you use sponsorship, you pass through minimal payloads and we take care of the rest. We auto-fill any fields you omit. This endpoint supports arbitrary EVM transactions — not just simple sends. You can interact with smart contracts, deploy contracts, or execute any valid EVM operation.

Solana

A successful Solana transaction requires:
  • Transaction construction: assembling the list of instructions (program, accounts, data)
  • Recent blockhash: fetched and attached at broadcast time to ensure the transaction is valid
  • Compute unit limit: estimated and set to prevent failed transactions due to insufficient compute
  • Priority fee: set to ensure timely inclusion under current network conditions
  • Signature: cryptographically signing the transaction with the sender’s private key
  • Broadcast: submitting the signed transaction to the network and monitoring for confirmation
Turnkey handles all of this for you via solSendTransaction. Whether or not you use sponsorship, you pass through a minimal payload and we manage the rest.
On Solana, fee sponsorship and rent sponsorship are separate. Sponsor Solana Rent is disabled by default and must be enabled in the dashboard before Turnkey will pre-fund rent for account creation. If created accounts are later closed, refunded rent can go back to the signer rather than the sponsor. See Solana Rent Sponsorship. For payer behavior, static-key requirements, and account-creation caveats in sponsored flows, see Solana transaction construction for sponsored flows.

Transaction status and enriched errors

After you send a transaction, Turnkey monitors its status until it fails or is confirmed on-chain.

Transaction Statuses

The following statuses apply to both EVM and Solana transactions:
StatusDescription
INITIALIZEDTurnkey has constructed and signed the transaction and prepared fees, but it has not yet been broadcast.
BROADCASTINGTurnkey is actively broadcasting the transaction to the network and awaiting inclusion.
INCLUDEDThe transaction has been included in a block (EVM) or confirmed on-chain (Solana).
FAILEDThe transaction could not be included on-chain and will not be retried automatically.

EVM Smart Contract Transaction Errors

For EVM transactions that revert, Turnkey runs a simulation to produce structured execution traces and decode common revert reasons — giving you actionable error messages instead of opaque hex data.
Error typeDescription
UNKNOWNThe transaction reverted during on-chain execution or simulation, but the revert reason could not be decoded (e.g. missing ABI or unverified contract).
NATIVEThe transaction reverted due to a built-in Solidity error, such as require(), assert(), or a plain revert().
CUSTOMThe transaction reverted due to a contract-defined custom error declared using Solidity’s error keyword.
These error types describe how an EVM smart contract reverted during on-chain execution or pre-flight simulation. Turnkey application-level errors (e.g. signing failures, policy rejections) are not classified here and are instead surfaced via Error.Message.