Integration with Solana

TurnkeySigner for Solana Transactions

TurnkeySigner extends ISolanaSigner with a Turnkey-specific address, ensuring that transaction signing is linked securely to Turnkey's infrastructure.

export type TurnkeySigner = ISolanaSigner & {
    turnkeyAddress: string;
};
  • The turnkeyAddress uniquely identifies a signer as a Turnkey-managed wallet.

Wallet Recognition (solana-provider.ts)

The Solana provider checks if a connected wallet is a TurnkeySigner via isExternalSolanaSigner():

isExternalSolanaSigner(): boolean {
    return !(this.solanaWallet as TurnkeySigner).turnkeyAddress;
}
  • If turnkeyAddress is missing, the wallet is treated as an external signer (not managed by Turnkey).

Transaction Signing with TurnkeySigner

  • The provider retrieves the signer using getSigner().

  • If the signer is Turnkey-integrated, the signing process is secured by Dynamic’s passkey-based authentication and AWS Nitro Enclaves before executing signTransaction or signAllTransactions.

Last updated

Was this helpful?