# @turnkey/core ## 2.8.0 ### Minor Changes - [#1458](https://github.com/tkhq/sdk/pull/1458) [`22a6682`](https://github.com/tkhq/sdk/commit/22a6682a3a7c5ad7b192cb46ffc599e073802ccf) Author [@besler613](https://github.com/besler613) - Sync transaction history API types with the latest public API swagger. ### Transaction history query endpoints - `listEthTransactionHistory` (`POST /public/v1/query/list_eth_transaction_history`) — paginated EVM transaction history for a wallet or private-key address on a supported CAIP-2 chain. - `listSolTransactionHistory` (`POST /public/v1/query/list_sol_transaction_history`) — paginated Solana transaction history for a wallet or private-key address on a supported CAIP-2 chain. ### Pagination type update Transaction history pagination now uses the shared `v1Pagination` / `v1PageInfo` types instead of transaction-history-specific `v1TransactionHistoryPaginationOptions` / `v1TransactionHistoryPaginationCursors`. **Before:** ```ts const response = await client.listEthTransactionHistory({ ... }); const after = response.paginationCursors.after; ``` **After:** ```ts const response = await client.listEthTransactionHistory({ ... }); const after = response.pageInfo?.endCursor; ``` These surfaces are generated into `@turnkey/http`, `@turnkey/sdk-types`, `@turnkey/sdk-browser`, `@turnkey/sdk-server`, and `@turnkey/core`. ### Patch Changes - Updated dependencies [[`3af9589`](https://github.com/tkhq/sdk/commit/3af958959c2827d3404525fd22d73be5e306111c), [`35f9cce`](https://github.com/tkhq/sdk/commit/35f9cce418b3704d8e77840c0d76b325079982cb), [`22a6682`](https://github.com/tkhq/sdk/commit/22a6682a3a7c5ad7b192cb46ffc599e073802ccf)]: - @turnkey/crypto@2.12.0 - @turnkey/sdk-types@1.6.0 - @turnkey/http@6.3.0 - @turnkey/api-key-stamper@0.6.13 - @turnkey/react-native-passkey-stamper@1.2.22 ## 2.7.1 ### Patch Changes - [#1492](https://github.com/tkhq/sdk/pull/1492) [`9fe6ceb`](https://github.com/tkhq/sdk/commit/9fe6cebf0047a22b8106f4cd79568ca1da429da7) Author [@ethankonk](https://github.com/ethankonk) - Added missing optional captchaToken param to `SignUpWithWalletParams` ## 2.7.0 ### Minor Changes - [#1240](https://github.com/tkhq/sdk/pull/1240) [`e1fdcb1`](https://github.com/tkhq/sdk/commit/e1fdcb16444e6902f220612bea002a7313607900) Author [@amircheikh](https://github.com/amircheikh) - ### Attested stamping Add `AttestedStamper` and `overrideAttestedStamper()` to the HTTP client. OTP and OAuth login flows now use `stampLogin` with an attested stamp (`X-Stamp-Attested`) instead of the proxy-specific `proxyOtpLoginV2` / `proxyOAuthLogin` endpoints. A new `StamperType.Attested` enum value is available for attested stamp selection. ### Session profiles Add session profile support for creating scoped sessions. Auth methods now accept an optional `sessionProfileId` parameter to restrict a session's permissions to those defined by the profile: `loginWithPasskey`, `signUpWithPasskey`, `buildWalletLoginRequest`, `loginWithWallet`, `signUpWithWallet`, `loginOrSignupWithWallet`, `loginWithOtp`, `signUpWithOtp`, `completeOtp`, `loginWithOauth`, `signUpWithOauth`, and `completeOauth`. The `Session` type adds `sessionProfileId` and `scope` fields. ### MFA handling Add MFA support in the SDK. A new `onMfaRequired` callback can be provided to `TurnkeyHttpClientConfig` and `TurnkeySDKClientConfig`. When an activity returns `ACTIVITY_STATUS_AUTHENTICATORS_NEEDED` or `ACTIVITY_STATUS_CONSENSUS_NEEDED`, the client automatically fetches MFA statuses via `getMfaStatus`, invokes the callback with an `MfaContext`, and re-polls for completion after the callback resolves. Add `ActivityStatus` enum to `@turnkey/sdk-types` and include `ACTIVITY_STATUS_AUTHENTICATORS_NEEDED` in `TERMINAL_ACTIVITY_STATUSES`. ### Patch Changes - Updated dependencies [[`e1fdcb1`](https://github.com/tkhq/sdk/commit/e1fdcb16444e6902f220612bea002a7313607900)]: - @turnkey/sdk-types@1.5.1 - @turnkey/crypto@2.11.3 - @turnkey/api-key-stamper@0.6.12 - @turnkey/http@6.2.1 - @turnkey/react-native-passkey-stamper@1.2.21 ## 2.6.0 ### Minor Changes - [#1480](https://github.com/tkhq/sdk/pull/1480) [`f191ad9`](https://github.com/tkhq/sdk/commit/f191ad98d5bd194a12045d9b0c562abccb07169a) Thanks [@moe-dev](https://github.com/moe-dev)! - Expose `createSwapQuote` (`ACTIVITY_TYPE_CREATE_SWAP_QUOTE`) and `executeSwap` (`ACTIVITY_TYPE_EXECUTE_SWAP_V2`) on the high-level SDK clients. `createSwapQuote` takes `signWith`, CAIP-19 tokens, amount, and optional `slippageBps`, and returns provider quotes. `executeSwap` is quote-bound: pass `quoteId` plus the exact quoted amounts (`quotedOutputAmount`, `minOutputAmount`, `sponsor`); the signer is derived from the quote. Poll with `getSwapStatus` using the returned `swapRequestId`. Also align transaction-history list responses with standard pagination (`v1Pagination` / `pageInfo`) instead of the previous transaction-history-specific cursor types. ### Patch Changes - Updated dependencies [[`f191ad9`](https://github.com/tkhq/sdk/commit/f191ad98d5bd194a12045d9b0c562abccb07169a)]: - @turnkey/sdk-types@1.5.0 - @turnkey/http@6.2.0 - @turnkey/crypto@2.11.2 - @turnkey/react-native-passkey-stamper@1.2.20 - @turnkey/api-key-stamper@0.6.11 ## 2.5.0 ### Minor Changes - [#1475](https://github.com/tkhq/sdk/pull/1475) [`4a20057`](https://github.com/tkhq/sdk/commit/4a20057b37d6081c0c38c0a4840affcd16140d47) Thanks [@moe-dev](https://github.com/moe-dev)! - Sync generated API clients and types with the latest public API swagger. ### New query endpoints - `getClaimEarnFeesStatus` (`POST /public/v1/query/get_claim_earn_fees_status`) — poll Earn fee-claim status by the `claimRequestId` returned from `ClaimEarnFees`. Response status is `PENDING` | `COMPLETED` | `FAILED`, with optional `claimTxHash` / `error`. - `getSwapStatus` (`POST /public/v1/query/get_swap_status`) — poll swap status by the `swapRequestId` returned from `ExecuteSwap`. Covers same-chain and cross-chain swaps, and returns provider, input/output tokens and amounts, origin/destination tx hashes, optional refund info on failure, and normalized error details. ### New submit endpoints / activities - `claimSwapFees` (`POST /public/v1/submit/claim_swap_fees`, `ACTIVITY_TYPE_CLAIM_SWAP_FEES`) — claim swap fees through the activity pipeline; result includes a Relay `requestId`. - `ethUndelegate7702` (`POST /public/v1/submit/eth_undelegate_7702`, `ACTIVITY_TYPE_ETH_UNDELEGATE_7702`) — submit an EIP-7702 undelegation for a wallet/private-key address on a supported CAIP-2 chain. Optional nonce / gas / fee fields; result returns a `sendTransactionStatusId` for polling. - `upsertSwapConfig` (`POST /public/v1/submit/upsert_swap_config`, `ACTIVITY_TYPE_UPSERT_SWAP_CONFIG`) — enable or update org swap config (`feeReceiverWalletAddress`, `feeBps`, and Enterprise-only `stableFeeBps` for stablecoin pairs). - `createSwapQuote` (`ACTIVITY_TYPE_CREATE_SWAP_QUOTE`) — request provider quotes for a swap (`signWith`, CAIP-19 `inputToken` / `outputToken`, `inputAmount`, optional `slippageBps`). Returns one or more `v1SwapQuote` values; pass `quoteId` into execute-swap v2. ### Related activity / type updates - `ACTIVITY_TYPE_EXECUTE_SWAP_V2` / `v1ExecuteSwapIntentV2` — quote-bound swap execution. Takes `quoteId` plus the exact quoted amounts (`inputAmount`, `quotedOutputAmount`, `minOutputAmount`, `sponsor`), with optional `evmNonce` / `recentBlockhash` / `gasStationNonce`. Signer is derived from the quote and must not be resupplied. Result still exposes `swapRequestId` for `getSwapStatus`. - `ACTIVITY_TYPE_UPDATE_WALLET_ACCOUNT_NAME` / `v1UpdateWalletAccountNameIntent` — rename a wallet account by `walletAccountId`. - Supporting swap types: `v1SwapQuote`, `v1SwapError`, `v1SwapRefund`. - CAIP-2 enums used by transaction intents (including undelegation) now include `eip155:143`. These surfaces are generated into `@turnkey/http`, `@turnkey/sdk-types`, `@turnkey/sdk-browser`, `@turnkey/sdk-server`, and `@turnkey/core`. ### Patch Changes - Updated dependencies [[`4a20057`](https://github.com/tkhq/sdk/commit/4a20057b37d6081c0c38c0a4840affcd16140d47)]: - @turnkey/sdk-types@1.4.0 - @turnkey/http@6.1.0 - @turnkey/crypto@2.11.1 - @turnkey/react-native-passkey-stamper@1.2.19 - @turnkey/api-key-stamper@0.6.10 ## 2.4.0 ### Minor Changes - [#1448](https://github.com/tkhq/sdk/pull/1448) [`09d0e19`](https://github.com/tkhq/sdk/commit/09d0e19ee6b4b2c1be14762650613f7fbae036b0) Thanks [@Bijan-Massoumi](https://github.com/Bijan-Massoumi)! - Add Solana multi-signer transaction support to the core client and wallet kits. `@turnkey/core` exposes a new `solSendTransactionV2()` HTTP client function that sends `ACTIVITY_TYPE_SOL_SEND_TRANSACTION_V2`. The existing `solSendTransaction()` HTTP client function remains on V1. The shared `solSendTransaction` helper used by core and the wallet kits now accepts either version of the intent. Passing the legacy `signWith` field continues to use V1. Passing the new ordered `signWiths` array uses V2. **Before (V1 remains supported):** ```ts await client.solSendTransaction({ transaction: { unsignedTransaction: unsignedTransactionBase64, signWith: signerAddress, caip2, sponsor, }, }); ``` **After (V2):** ```ts await client.solSendTransaction({ transaction: { unsignedTransaction: unsignedTransactionHex, signWiths: [signerAddress], caip2, sponsor, }, }); ``` - [#1452](https://github.com/tkhq/sdk/pull/1452) [`b447497`](https://github.com/tkhq/sdk/commit/b447497e965b0b1df02d2294e87f89cedb761719) Author [@ericvelazquez](https://github.com/ericvelazquez) - Add Turnkey Earn APIs (early access) to the high-level SDK clients: `earnVaults`, `earnEnabledVaults`, `earnPositions`, `earnDeposit`, `earnDepositStatus`, `earnWithdraw`, `earnWithdrawStatus`, `earnDeployWrapper`, and `earnDeployStatus`. The Earn read endpoints live under `/query/` but aren't named `get`/`list`/`test`/`validate`, so each package's codegen pins `/query/earn_*` to query methods by path. `@turnkey/http` gains the previously-missing `earnDeployStatus` so its generated Earn surface matches the other packages. ### Patch Changes - [#1445](https://github.com/tkhq/sdk/pull/1445) [`257d52a`](https://github.com/tkhq/sdk/commit/257d52a108e903beea15be8b2a0e6d222fe07ed9) Thanks [@mark-nesbitt](https://github.com/mark-nesbitt)! - Patch vulnerable dependencies - Updated dependencies [[`09d0e19`](https://github.com/tkhq/sdk/commit/09d0e19ee6b4b2c1be14762650613f7fbae036b0), [`de5e169`](https://github.com/tkhq/sdk/commit/de5e1692ab79c18d898326e76777fa7ea54df812), [`b447497`](https://github.com/tkhq/sdk/commit/b447497e965b0b1df02d2294e87f89cedb761719), [`c9a13f6`](https://github.com/tkhq/sdk/commit/c9a13f65092e9a7cddc0716206331db9a8b614d2), [`257d52a`](https://github.com/tkhq/sdk/commit/257d52a108e903beea15be8b2a0e6d222fe07ed9)]: - @turnkey/sdk-types@1.3.0 - @turnkey/http@6.0.0 - @turnkey/crypto@2.11.0 - @turnkey/react-native-passkey-stamper@1.2.18 - @turnkey/api-key-stamper@0.6.9 ## 2.3.0 ### Minor Changes - [#1433](https://github.com/tkhq/sdk/pull/1433) [`cd1af93`](https://github.com/tkhq/sdk/commit/cd1af93c41a3f41c3c68589cfa6cfe17c1812c2f) Author [@amircheikh](https://github.com/amircheikh) - - Synced with Mono v2026.7.3 - Added `EthSendTransactionV2()` `httpClient` function which uses `ACTIVITY_TYPE_ETH_SEND_TRANSACTION_V2`. This activity allows for multiple eth calls to be batched together via the new `calls` array. The existing `EthSendTransaction()` `httpClient` remains on the previous activity version. - `ethSendTransaction` helper function can now accept a `calls` array in the `transaction` parameter which will direct the call to use `ACTIVITY_TYPE_ETH_SEND_TRANSACTION_V2`. Passing the legacy `to`/`value`/`data` fields still works and continues to use V1. ```ts // V1 (still works, unchanged) await client.ethSendTransaction({ transaction: { from, caip2, to, value, data }, }); // V2 — batch one or more calls via `calls` await client.ethSendTransaction({ transaction: { from, caip2, calls: [{ to, value, data }], }, }); ``` ### Patch Changes - Updated dependencies [[`cd1af93`](https://github.com/tkhq/sdk/commit/cd1af93c41a3f41c3c68589cfa6cfe17c1812c2f), [`cd1af93`](https://github.com/tkhq/sdk/commit/cd1af93c41a3f41c3c68589cfa6cfe17c1812c2f)]: - @turnkey/http@5.0.0 - @turnkey/sdk-types@1.2.0 - @turnkey/react-native-passkey-stamper@1.2.17 - @turnkey/crypto@2.10.1 - @turnkey/api-key-stamper@0.6.8 ## 2.2.0 ### Minor Changes - [#1391](https://github.com/tkhq/sdk/pull/1391) [`fb82279`](https://github.com/tkhq/sdk/commit/fb82279ed954a25bd0a23418664315fb43d0e2ec) Author [@ethankonk](https://github.com/ethankonk) - Exposes new `fetchWalletConnectApps` and `buildWalletConnectAppEntries` helpers (plus `WalletConnectApp` / `WalletConnectAppEntry` types). ### Patch Changes - Updated dependencies [[`325fded`](https://github.com/tkhq/sdk/commit/325fdedf2c647c9a93f28aa7355b1ff0053689f9)]: - @turnkey/http@4.1.1 - @turnkey/react-native-passkey-stamper@1.2.16 ## 2.1.0 ### Minor Changes - [#1324](https://github.com/tkhq/sdk/pull/1324) [`f505818`](https://github.com/tkhq/sdk/commit/f505818e121c137d290156a32918a884ba80e5f5) Author [@janjakubnanista](https://github.com/janjakubnanista) - ### Breaking/Behavioral Changes #### `nonce` parameter in `oauth2Authenticate` is now required ```ts # Before apiClient.oauth2Authenticate({ oauth2CredentialId: ..., authCode: ..., redirectUri: ..., codeVerifier: ..., bearerTokenTargetPublicKey: ..., // nonce can be undefined nonce: undefined }) # After apiClient.oauth2Authenticate({ oauth2CredentialId: ..., authCode: ..., redirectUri: ..., codeVerifier: ..., bearerTokenTargetPublicKey: ..., // nonce is required nonce: "" }) ``` #### Solana transactions in Transaction Management are now limited to the following `caip2` values: - `solana:mainnet` - `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp` - `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d` - `solana:devnet` - `solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1` - `solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG` ### New SDK methods #### TVC These methods will only work if you are part of the [TVC beta](https://www.turnkey.com/turnkey-verifiable-cloud#waitlist) - `getTvcApp` - `getTvcDeployment` - `getTvcAppDeployments` - `getTvcApps` - `validateTvcImage` - `createTvcApp` - `createTvcDeployment` - `createTvcManifestApprovals` - `deleteTvcAppAndDeployments` - `deleteTvcDeployment` - `restoreTvcDeployment` - `updateTvcAppLiveDeployment` #### Spark protocol support - `sparkClaimTransfer` - `sparkPrepareLightningReceive` - `sparkPrepareTransfer` - `sparkSignFrost` ### Patch Changes - [#1299](https://github.com/tkhq/sdk/pull/1299) [`bf2c28f`](https://github.com/tkhq/sdk/commit/bf2c28fec690ec31254125405bf15a482139109b) Author [@ethankonk](https://github.com/ethankonk) - Patched the core sdk's client to allow passing in the `generateAppProofs` param to all activity requests - [#1308](https://github.com/tkhq/sdk/pull/1308) [`3adc0c9`](https://github.com/tkhq/sdk/commit/3adc0c96cf524b59584e5f5688f7830fc79ebeb4) Author [@hadrelandon](https://github.com/hadrelandon) - return actual `credentialId` from `loginWithPasskey()` instead of empty string - Updated dependencies [[`bf2c28f`](https://github.com/tkhq/sdk/commit/bf2c28fec690ec31254125405bf15a482139109b), [`f505818`](https://github.com/tkhq/sdk/commit/f505818e121c137d290156a32918a884ba80e5f5), [`ad044cd`](https://github.com/tkhq/sdk/commit/ad044cdcd41690c6479a81c56ebcd6d5108581fb)]: - @turnkey/sdk-types@1.1.0 - @turnkey/http@4.1.0 - @turnkey/crypto@2.10.0 - @turnkey/react-native-passkey-stamper@1.2.15 - @turnkey/api-key-stamper@0.6.7 ## 2.0.0 ### Major Changes - [#1286](https://github.com/tkhq/sdk/pull/1286) [`11b1717`](https://github.com/tkhq/sdk/commit/11b1717896e27d2fbfc5efc73af5e29c4cf0258b) Author [@moeodeh3](https://github.com/moeodeh3) - remove `storeOverride` from `CreateApiKeyPairParams`. use `overrideApiKeyStamper()` instead to override the API key stamper config - [#1250](https://github.com/tkhq/sdk/pull/1250) [`63a8e9b`](https://github.com/tkhq/sdk/commit/63a8e9b9505671ed76bee1658053a8af72408efd) Author [@moeodeh3](https://github.com/moeodeh3) - `signUpWithPasskey` now no longer accepts an `organizationId`. This value is now taken exclusively from the config. The `sendSignedRequest` helper function has been removed. This is replaced with `httpClient.sendSignedRequest`. - [#1250](https://github.com/tkhq/sdk/pull/1250) [`6128132`](https://github.com/tkhq/sdk/commit/6128132d910f658cdf83ecc1dec6598eb20c008a) Author [@moeodeh3](https://github.com/moeodeh3) - ### `INIT_OTP` `ACTIVITY_TYPE_INIT_OTP_V2` → `ACTIVITY_TYPE_INIT_OTP_V3` **What changed:** Added required `otpEncryptionTargetBundle` to the result. ```ts // before — v1InitOtpResult { otpId: string; } // after — v1InitOtpResultV2 { otpId: string; otpEncryptionTargetBundle: string; // new } ``` *** ### `VERIFY_OTP` `ACTIVITY_TYPE_VERIFY_OTP` → `ACTIVITY_TYPE_VERIFY_OTP_V2` **What changed:** Replaced plaintext `otpCode` + `publicKey` with a single `encryptedOtpBundle`. Instead of sending the OTP code in plaintext, you now HPKE-encrypt it (along with your public key) to Turnkey's enclave using the `otpEncryptionTargetBundle` returned by `initOtp`. This ensures the OTP code never leaves the client in plaintext. Use `encryptOtpCodeToBundle` from `@turnkey/crypto` to build the bundle: ```ts import { encryptOtpCodeToBundle } from "@turnkey/crypto"; const { otpId, otpEncryptionTargetBundle } = await client.initOtp({ ... }); // After the user enters their OTP code: const encryptedOtpBundle = await encryptOtpCodeToBundle( otpCode, // the code the user entered otpEncryptionTargetBundle, // from the initOtp response publicKey, // your target public key ); await client.verifyOtp({ otpId, encryptedOtpBundle, }); ``` ```ts // before — v1VerifyOtpIntent { otpId: string; otpCode: string; // removed expirationSeconds?: string; publicKey?: string; // removed } // after — v1VerifyOtpIntentV2 { otpId: string; encryptedOtpBundle: string; // new — replaces otpCode + publicKey expirationSeconds?: string; } ``` *** ### `OTP_LOGIN` `ACTIVITY_TYPE_OTP_LOGIN` → `ACTIVITY_TYPE_OTP_LOGIN_V2` **What changed:** `clientSignature` promoted from optional to required. ```ts // before — v1OtpLoginIntent { verificationToken: string; publicKey: string; expirationSeconds?: string; invalidateExisting?: boolean; clientSignature?: v1ClientSignature; // optional } // after — v1OtpLoginIntentV2 { verificationToken: string; publicKey: string; expirationSeconds?: string; invalidateExisting?: boolean; clientSignature: v1ClientSignature; // now required } ``` *** ### `CREATE_OAUTH_PROVIDERS` `ACTIVITY_TYPE_CREATE_OAUTH_PROVIDERS` → `ACTIVITY_TYPE_CREATE_OAUTH_PROVIDERS_V2` **What changed:** Added `oidcClaims` as a new option alongside `oidcToken`; you must provide exactly one. This updated type feeds into the `CREATE_SUB_ORGANIZATION` and `CREATE_USERS` changes below. ```ts // before — v1OauthProviderParams { providerName: string; oidcToken: string; } // after — v1OauthProviderParamsV2 { providerName: string; } & ( | { oidcToken: string } | { oidcClaims: { iss: string; sub: string; aud: string } } ) ``` *** ### `CREATE_SUB_ORGANIZATION` `ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V7` → `ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V8` **What changed:** `rootUsers` items updated from `v1RootUserParamsV4` → `v1RootUserParamsV5`, which updates `oauthProviders` from `v1OauthProviderParams` → `v1OauthProviderParamsV2`. ```ts // before — v1RootUserParamsV4 { userName: string; userEmail?: string; userPhoneNumber?: string; apiKeys: v1ApiKeyParamsV2[]; authenticators: v1AuthenticatorParamsV2[]; oauthProviders: { // v1OauthProviderParams providerName: string; oidcToken: string; // was required }[]; } // after — v1RootUserParamsV5 { userName: string; userEmail?: string; userPhoneNumber?: string; apiKeys: v1ApiKeyParamsV2[]; authenticators: v1AuthenticatorParamsV2[]; oauthProviders: ({ // v1OauthProviderParamsV2 providerName: string; } & ( | { oidcToken: string } | { oidcClaims: { iss: string; sub: string; aud: string } } ))[]; } ``` *** ### `CREATE_USERS` `ACTIVITY_TYPE_CREATE_USERS_V3` → `ACTIVITY_TYPE_CREATE_USERS_V4` **What changed:** `users` items updated from `v1UserParamsV3` → `v1UserParamsV4`, which updates `oauthProviders` from `v1OauthProviderParams` → `v1OauthProviderParamsV2`. ```ts // before — v1UserParamsV3 { userName: string; userEmail?: string; userPhoneNumber?: string; apiKeys: v1ApiKeyParamsV2[]; authenticators: v1AuthenticatorParamsV2[]; oauthProviders: { // v1OauthProviderParams providerName: string; oidcToken: string; // was required }[]; userTags: string[]; } // after — v1UserParamsV4 { userName: string; userEmail?: string; userPhoneNumber?: string; apiKeys: v1ApiKeyParamsV2[]; authenticators: v1AuthenticatorParamsV2[]; oauthProviders: ({ // v1OauthProviderParamsV2 providerName: string; } & ( | { oidcToken: string } | { oidcClaims: { iss: string; sub: string; aud: string } } ))[]; userTags: string[]; } ``` ### Minor Changes - [#1286](https://github.com/tkhq/sdk/pull/1286) [`7a36539`](https://github.com/tkhq/sdk/commit/7a36539196856a8bd4ca4c54115fa9874ccc83fa) Author [@moeodeh3](https://github.com/moeodeh3) - - Added `overrideApiKeyStamper` and `overridePasskeyStamper` methods to allow updating the stamper configurations during runtime - Added `deleteApiKeyPair` method for cleaning up key pairs that aren't associated with active sessions - [#1225](https://github.com/tkhq/sdk/pull/1225) [`ec0e99a`](https://github.com/tkhq/sdk/commit/ec0e99af3c0a523505c12b8e44efedca539e2399) Author [@ethankonk](https://github.com/ethankonk) - Moved TActivityStatus, TActivityResponse, TSignedRequest, and TActivityStatus out of `core` and into `sdk-types` - [#1250](https://github.com/tkhq/sdk/pull/1250) [`1901eb8`](https://github.com/tkhq/sdk/commit/1901eb88b24cc68256f71789bfbed139aba91bb4) Author [@moeodeh3](https://github.com/moeodeh3) - Added `signWithApiKey()` which allows users to sign arbitrary messages using the API key stamper. `addOauthProvider` now accepts a list of `oidcClaims` and the `oidcToken` parameter is now optional. This means the function can now be called with either an `oidcToken`, a list of `oidcClaims` or both. An `oidcClaims` entry is the `{ iss, sub, aud }` triple from an OIDC token - `iss` and `sub` identify the user and `aud` is the client ID the token was issued for. Passing them lets you register additional audiences (e.g. iOS bundle ID + web client ID) against the same identity without needing a separate token for each, so a single user can sign in from any of them and resolve to the same sub-organization. ### Patch Changes - Updated dependencies [[`d677115`](https://github.com/tkhq/sdk/commit/d677115e60aaee53319131723541211457803317), [`34522d4`](https://github.com/tkhq/sdk/commit/34522d447592138a82d34cd690091315f9748edb), [`7a36539`](https://github.com/tkhq/sdk/commit/7a36539196856a8bd4ca4c54115fa9874ccc83fa), [`47c0ca4`](https://github.com/tkhq/sdk/commit/47c0ca4696c8a518f95550c35cfe4cb4985a2633), [`5624d54`](https://github.com/tkhq/sdk/commit/5624d5417d2cc30032ca4ce71da0a5c7ab9a462d), [`6128132`](https://github.com/tkhq/sdk/commit/6128132d910f658cdf83ecc1dec6598eb20c008a), [`7b80b1e`](https://github.com/tkhq/sdk/commit/7b80b1e9755b83988b5e49c34dff13dd92d9932f)]: - @turnkey/crypto@2.9.0 - @turnkey/sdk-types@1.0.0 - @turnkey/http@4.0.0 - @turnkey/api-key-stamper@0.6.6 - @turnkey/react-native-passkey-stamper@1.2.14 ## 1.14.1 ### Patch Changes - [#1269](https://github.com/tkhq/sdk/pull/1269) [`ef66673`](https://github.com/tkhq/sdk/commit/ef6667325d210c8aa0ea4c1d11d834ff28ddb66c) Author [@ethankonk](https://github.com/ethankonk) - Sync with v2026.4.5 of mono - [#1257](https://github.com/tkhq/sdk/pull/1257) [`aa3e55e`](https://github.com/tkhq/sdk/commit/aa3e55e1e5adea1945647c84fe247bc2761a8f77) Thanks [@Bijan-Massoumi](https://github.com/Bijan-Massoumi)! - Add full status response as `error.cause` on errors thrown by `pollTransactionStatus()` - [#1255](https://github.com/tkhq/sdk/pull/1255) [`59ebe9b`](https://github.com/tkhq/sdk/commit/59ebe9bc4a5fa3c015ed32cc6b8ab0b66523b0a4) Author [@ethankonk](https://github.com/ethankonk) - Fixed incorrect OAuth2 activity types - Updated dependencies [[`ef66673`](https://github.com/tkhq/sdk/commit/ef6667325d210c8aa0ea4c1d11d834ff28ddb66c), [`8209887`](https://github.com/tkhq/sdk/commit/8209887d48bae7ea617645603a156aeb1cfbd2e7)]: - @turnkey/sdk-types@0.14.0 - @turnkey/http@3.18.1 - @turnkey/crypto@2.8.14 - @turnkey/react-native-passkey-stamper@1.2.13 - @turnkey/api-key-stamper@0.6.5 ## 1.14.0 ### Minor Changes - [#1244](https://github.com/tkhq/sdk/pull/1244) [`068abcb`](https://github.com/tkhq/sdk/commit/068abcb11e05972329034222bed52865f405f1c4) Thanks [@moe-dev](https://github.com/moe-dev)! - Sync as per mono v2026.3.6 ### Patch Changes - Updated dependencies [[`46b4d2f`](https://github.com/tkhq/sdk/commit/46b4d2fa807fb87d06bb606623ba1f86582aa4ef), [`068abcb`](https://github.com/tkhq/sdk/commit/068abcb11e05972329034222bed52865f405f1c4)]: - @turnkey/http@3.18.0 - @turnkey/sdk-types@0.13.0 - @turnkey/react-native-passkey-stamper@1.2.12 - @turnkey/crypto@2.8.13 - @turnkey/api-key-stamper@0.6.4 ## 1.13.0 ### Minor Changes - [#1228](https://github.com/tkhq/sdk/pull/1228) [`1d108d6`](https://github.com/tkhq/sdk/commit/1d108d6496ad8266db0e997a27aecc81e46008fb) Thanks [@moe-dev](https://github.com/moe-dev)! - This branch adds first-class ERC20 transfer abstractions across `@turnkey/core`, `@turnkey/react-wallet-kit`, and `@turnkey/react-native-wallet-kit`. ### `@turnkey/core` - Added `Erc20Transfer` and `EthSendErc20TransferParams` method types. - Added `TurnkeyClient.ethSendErc20Transfer(...)` as a convenience wrapper that ABI-encodes `transfer(address,uint256)` and submits via `ethSendTransaction`. - Updated `ethSendTransaction` to stop prefetching nonces with `getNonces`; transaction fields are now forwarded directly to Turnkey's coordinator (including optional caller-provided `nonce` / `gasStationNonce`). ### `@turnkey/react-wallet-kit` - Added low-level `ethSendErc20Transfer(...)` passthrough in the client provider context. - Added `handleSendErc20Transfer(...)` modal flow that submits ERC20 transfers and polls transaction status to terminal state. - Added new public types/docs for `HandleSendErc20TransferParams` and `ClientContextType.handleSendErc20Transfer`. ### `@turnkey/react-native-wallet-kit` - Added low-level `ethSendErc20Transfer(...)` passthrough in `TurnkeyProvider` context to match `ClientContextType` and support ERC20 sends from React Native. ### Patch Changes - [#1235](https://github.com/tkhq/sdk/pull/1235) [`82dc76c`](https://github.com/tkhq/sdk/commit/82dc76c7ce51e5375570bbffab32eb739af90381) Author [@ethankonk](https://github.com/ethankonk) - Fix missing `return` statements on `withTurnkeyErrorHandling` in `storeSession`, `clearSession`, `clearAllSessions`, `logout`, and `clearUnusedKeyPairs`, ensuring errors are properly propagated and local storage write complete before returning - [#1241](https://github.com/tkhq/sdk/pull/1241) [`dfdd864`](https://github.com/tkhq/sdk/commit/dfdd8647266fdd0297aaea32046ee815ae8fc27c) Author [@ethankonk](https://github.com/ethankonk) - Patched solana chain filter in wallet connecting logic - Updated dependencies [[`dfdd864`](https://github.com/tkhq/sdk/commit/dfdd8647266fdd0297aaea32046ee815ae8fc27c)]: - @turnkey/sdk-types@0.12.1 - @turnkey/crypto@2.8.12 - @turnkey/api-key-stamper@0.6.3 - @turnkey/http@3.17.1 - @turnkey/react-native-passkey-stamper@1.2.11 ## 1.12.0 ### Minor Changes - [#1206](https://github.com/tkhq/sdk/pull/1206) [`58e04e5`](https://github.com/tkhq/sdk/commit/58e04e5856626d9d2593abb61d8ca32d8ccbb833) Author [@DeRauk](https://github.com/DeRauk) - Adds sdk methods for the GetWalletAddressBalances and ListSupportedAssets apis. ### Patch Changes - [#1209](https://github.com/tkhq/sdk/pull/1209) [`af6262f`](https://github.com/tkhq/sdk/commit/af6262f31e1abb3090fcda1eec5318056e6d51fe) Author [@moeodeh3](https://github.com/moeodeh3) - Bump `@walletconnect/sign-client` to `2.23.6` to address https://github.com/advisories/GHSA-mp2g-9vg9-f4cg - [#1201](https://github.com/tkhq/sdk/pull/1201) [`1f6e240`](https://github.com/tkhq/sdk/commit/1f6e2403fca1fd9cbca646f88c88dbc49ddb0c34) Author [@ethankonk](https://github.com/ethankonk) - Synced with Mono v2026.2.0 - [#1197](https://github.com/tkhq/sdk/pull/1197) [`7458b7c`](https://github.com/tkhq/sdk/commit/7458b7cd6fc64796b376e3374b7c2ed79467459c) Thanks [@moe-dev](https://github.com/moe-dev)! - Add support for SolSendTransaction and associated abstractions - Updated dependencies [[`1f6e240`](https://github.com/tkhq/sdk/commit/1f6e2403fca1fd9cbca646f88c88dbc49ddb0c34), [`58e04e5`](https://github.com/tkhq/sdk/commit/58e04e5856626d9d2593abb61d8ca32d8ccbb833), [`7458b7c`](https://github.com/tkhq/sdk/commit/7458b7cd6fc64796b376e3374b7c2ed79467459c)]: - @turnkey/sdk-types@0.12.0 - @turnkey/http@3.17.0 - @turnkey/crypto@2.8.11 - @turnkey/react-native-passkey-stamper@1.2.10 - @turnkey/api-key-stamper@0.6.2 ## 1.11.2 ### Patch Changes - [#1188](https://github.com/tkhq/sdk/pull/1188) [`d49ef7e`](https://github.com/tkhq/sdk/commit/d49ef7e9f0f78f16b1324a357f61cf0351198096) Author [@moeodeh3](https://github.com/moeodeh3) - Scope keychain storage to Turnkey keys by prefixing service names. This fixes an issue where `clearUnusedKeyPairs()` was deleting non-Turnkey keychain entries. - [#1194](https://github.com/tkhq/sdk/pull/1194) [`dced9db`](https://github.com/tkhq/sdk/commit/dced9dbbd8ea533442e19e45ce36e6a05a45a555) Author [@moeodeh3](https://github.com/moeodeh3) - Add `Content-Type: application/json` header to all Turnkey API requests. The missing header caused "Network request failed" errors on React Native, intermittent for some setups and consistent for others, where OkHttp-backed fetch can reject `POST` requests without an explicit `Content-Type`. See also: https://github.com/JakeChampion/fetch/issues/823 Special thanks to @jrmykolyn and @niroshanS for helping identify and debug this issue - Updated dependencies [[`dced9db`](https://github.com/tkhq/sdk/commit/dced9dbbd8ea533442e19e45ce36e6a05a45a555)]: - @turnkey/http@3.16.3 - @turnkey/react-native-passkey-stamper@1.2.9 ## 1.11.1 ### Patch Changes - [#1171](https://github.com/tkhq/sdk/pull/1171) [`2d19991`](https://github.com/tkhq/sdk/commit/2d19991bcf4e1c9704b73a48c54e870373b4bd95) Author [@moeodeh3](https://github.com/moeodeh3) - Fix mobile `setActiveSessionKey()` to JSON stringify session key. This fixes parsing errors in `getActiveSessionKey()` - [#1177](https://github.com/tkhq/sdk/pull/1177) [`89d4084`](https://github.com/tkhq/sdk/commit/89d40844d791b0bbb6d439da5e778b1fdeca4273) Author [@moeodeh3](https://github.com/moeodeh3) - Add a 1-second timeout to external wallet provider discovery. This prevents hanging providers from blocking `fetchUser()` and `fetchWallet()` - [#1174](https://github.com/tkhq/sdk/pull/1174) [`ba2521d`](https://github.com/tkhq/sdk/commit/ba2521d5d1c1f6baaa58ee65dce8cc4839f7dc7b) Author [@ethankonk](https://github.com/ethankonk) - Fixed bug preventing sub-orgs from adding Google social providers when the parsed email matches their user email - [#1185](https://github.com/tkhq/sdk/pull/1185) [`12ca083`](https://github.com/tkhq/sdk/commit/12ca083314310b05cf41ac29fa2d55eed627f229) Author [@moeodeh3](https://github.com/moeodeh3) - Remove leading whitespaces in wallet provider icon URLs - [#1179](https://github.com/tkhq/sdk/pull/1179) [`a85153c`](https://github.com/tkhq/sdk/commit/a85153c8ccc7454cd5aca974bc463fb47c7f8cd4) Author [@moeodeh3](https://github.com/moeodeh3) - - Fix `loginWithWallet()` returning the wrong address and sporadically failing - Deprecate `sendSignedRequest()` in favor of `httpClient.sendSignedRequest()`, which includes automatic activity polling and result extraction - Updated dependencies [[`8e075b7`](https://github.com/tkhq/sdk/commit/8e075b7161ccc68cb446b10b54737856fa0c6d31)]: - @turnkey/sdk-types@0.11.2 - @turnkey/crypto@2.8.10 - @turnkey/api-key-stamper@0.6.1 - @turnkey/http@3.16.2 - @turnkey/react-native-passkey-stamper@1.2.8 ## 1.11.0 ### Minor Changes - [#1135](https://github.com/tkhq/sdk/pull/1135) [`91d6a9e`](https://github.com/tkhq/sdk/commit/91d6a9eb1b9ac9e21745749615ac7a7be66f5cf6) Author [@ethankonk](https://github.com/ethankonk) - - Added client signature support for OTP authentication flows - Synced with `mono` v2025.12.2 ### Patch Changes - [#1117](https://github.com/tkhq/sdk/pull/1117) [`699fbd7`](https://github.com/tkhq/sdk/commit/699fbd75ef3f44f768ae641ab4f652e966b8e289) Author [@ethankonk](https://github.com/ethankonk) - Fixed broken OTP flow when "Verification Token Required for Account Lookups" was enabled in the Auth Proxy - Updated dependencies [[`d0dba04`](https://github.com/tkhq/sdk/commit/d0dba0412fa7b0c7c9b135e73cc0ef6f55187314), [`91d6a9e`](https://github.com/tkhq/sdk/commit/91d6a9eb1b9ac9e21745749615ac7a7be66f5cf6), [`91d6a9e`](https://github.com/tkhq/sdk/commit/91d6a9eb1b9ac9e21745749615ac7a7be66f5cf6)]: - @turnkey/crypto@2.8.9 - @turnkey/api-key-stamper@0.6.0 - @turnkey/sdk-types@0.11.1 - @turnkey/http@3.16.1 - @turnkey/react-native-passkey-stamper@1.2.7 ## 1.10.0 ### Minor Changes - [#1153](https://github.com/tkhq/sdk/pull/1153) [`78ec1d9`](https://github.com/tkhq/sdk/commit/78ec1d9afcafde3ca7107fc720323d486d6afaea) Thanks [@moe-dev](https://github.com/moe-dev)! - Update as per mono v2025.12.3. ### Behavioral Changes - `appName` is now **required**: - In `emailCustomization` for Email Auth activities - At the top-level intent for OTP activities - Auth proxy endpoints are **not affected** ### Activity Version Bumps The following activity types have been versioned: - `ACTIVITY_TYPE_INIT_OTP` → `ACTIVITY_TYPE_INIT_OTP_V2` - `ACTIVITY_TYPE_INIT_OTP_AUTH_V2` → `ACTIVITY_TYPE_INIT_OTP_AUTH_V3` - `ACTIVITY_TYPE_EMAIL_AUTH_V2` → `ACTIVITY_TYPE_EMAIL_AUTH_V3` - `ACTIVITY_TYPE_INIT_USER_EMAIL_RECOVERY` -> `ACTIVITY_TYPE_INIT_USER_EMAIL_RECOVERY_V2` ### Patch Changes - [#1145](https://github.com/tkhq/sdk/pull/1145) [`6261eed`](https://github.com/tkhq/sdk/commit/6261eed95af8627bf1e95e7291b9760a2267e301) Author [@moeodeh3](https://github.com/moeodeh3) - Add session `organizationId` fallback to HTTP client stamp functions - Updated dependencies [[`78ec1d9`](https://github.com/tkhq/sdk/commit/78ec1d9afcafde3ca7107fc720323d486d6afaea)]: - @turnkey/sdk-types@0.11.0 - @turnkey/http@3.16.0 - @turnkey/crypto@2.8.8 - @turnkey/react-native-passkey-stamper@1.2.6 ## 1.9.0 ### Minor Changes - [#1118](https://github.com/tkhq/sdk/pull/1118) [`29a42db`](https://github.com/tkhq/sdk/commit/29a42db8f5f3ef8b9c23c90cd00f4c21027aac2e) Thanks [@moe-dev](https://github.com/moe-dev)! - Add support for high-level Ethereum transaction utilities (**for embedded wallet use only**): - **`ethSendTransaction`** — new helper used as a dedicated method for submitting Ethereum transactions (sign and broadcast) via the Turnkey API. - **`pollTransactionStatus`** — new helper for polling Turnkey’s transaction status endpoint until the transaction reaches a terminal state. These methods enable a clean two-step flow: 1. Submit the transaction intent using `ethSendTransaction`, receiving a `sendTransactionStatusId`. 2. Poll for completion using `pollTransactionStatus` to retrieve the final on-chain transaction hash and execution status. ### Patch Changes - Updated dependencies [[`29a42db`](https://github.com/tkhq/sdk/commit/29a42db8f5f3ef8b9c23c90cd00f4c21027aac2e)]: - @turnkey/sdk-types@0.10.0 - @turnkey/crypto@2.8.7 ## 1.8.3 ### Patch Changes - [#1136](https://github.com/tkhq/sdk/pull/1136) [`7185545`](https://github.com/tkhq/sdk/commit/7185545ea1fc05eb738af09de5a594455f2e08f3) Author [@moeodeh3](https://github.com/moeodeh3) - Fixed missing `X-Client-Version` header in `sendSignedRequest()` ## 1.8.2 ### Patch Changes - [#1127](https://github.com/tkhq/sdk/pull/1127) [`3c23fc2`](https://github.com/tkhq/sdk/commit/3c23fc27eda5325a90e79afff4cc3a16f682e1d9) Author [@moeodeh3](https://github.com/moeodeh3) - Fix duplicate providers returned by `fetchWalletProviders()` when external wallet providers announce multiple EIP-1193 providers (e.g., Backpack) ## 1.8.1 ### Patch Changes - [#1113](https://github.com/tkhq/sdk/pull/1113) [`d4768c7`](https://github.com/tkhq/sdk/commit/d4768c71b6796532c9800d546154116e5d36b255) Author [@moeodeh3](https://github.com/moeodeh3) - Prevented unnecessary permission prompts in non-Ethereum-native wallets (e.g., Cosmos-based wallets like Keplr) by avoiding chainId requests before accounts are connected ## 1.8.0 ### Minor Changes - [#1090](https://github.com/tkhq/sdk/pull/1090) [`e1bd68f`](https://github.com/tkhq/sdk/commit/e1bd68f963d6bbd9c797b1a8f077efadccdec421) Author [@moeodeh3](https://github.com/moeodeh3) - - Fixed `stamp*` methods for query endpoints in `httpClient` incorrectly formatting request body - Parallelized stamper and session initialization - Separated WalletConnect initialization from client init - Optimized `fetchWallet` by reducing redundant queries and running wallet/user fetches in parallel - Added optional `authenticatorAddresses` param to `fetchWalletAccounts()` - Updated to latest `@walletconnect/sign-client` for performance improvements ### Patch Changes - [#1096](https://github.com/tkhq/sdk/pull/1096) [`fd2e031`](https://github.com/tkhq/sdk/commit/fd2e0318079de922512b1f5adb404b11921f77b7) Author [@ethankonk](https://github.com/ethankonk) - Fixed legacy transactions not working in `signAndSendTransaction()` for **EVM connected wallet**. This does not affect Turnkey's embedded wallet flow, previously, connected wallet transactions were all formatted into EIP-1559 transactions, updated to respect legacy + future formats passed in. - Updated dependencies [[`80ea306`](https://github.com/tkhq/sdk/commit/80ea306025a2161ff575a5e2b45794460eafdf1b)]: - @turnkey/sdk-types@0.9.0 - @turnkey/crypto@2.8.6 ## 1.7.0 ### Minor Changes - [#1072](https://github.com/tkhq/sdk/pull/1072) [`67b03a5`](https://github.com/tkhq/sdk/commit/67b03a5d9ab1b6eabfb0b41938ac91365b5dcd9b) Thanks [@moe-dev](https://github.com/moe-dev)! - Bump packages as per mono v2025.11.0 ### Patch Changes - [#1074](https://github.com/tkhq/sdk/pull/1074) [`beee465`](https://github.com/tkhq/sdk/commit/beee465a13f64abeb71c5c00519f7abab9942607) Author [@moeodeh3](https://github.com/moeodeh3) - - added optional `organizationId` to `loginWithOAuth()` - added optional `invalidateExisting` to `signUpWithOAuth()` - fixed `invalidateExisting` being ignored in `completeOAuth()` during signup - Updated dependencies [[`5f829c6`](https://github.com/tkhq/sdk/commit/5f829c67af03bb85c3806acd202b2debf8274e78), [`084acce`](https://github.com/tkhq/sdk/commit/084acce85fe7c15513a025e77c1571012ac82e4b), [`67b03a5`](https://github.com/tkhq/sdk/commit/67b03a5d9ab1b6eabfb0b41938ac91365b5dcd9b)]: - @turnkey/crypto@2.8.5 - @turnkey/sdk-types@0.8.0 - @turnkey/http@3.15.0 - @turnkey/react-native-passkey-stamper@1.2.5 ## 1.6.0 ### Minor Changes - [#1058](https://github.com/tkhq/sdk/pull/1058) [`9fbd5c4`](https://github.com/tkhq/sdk/commit/9fbd5c459782dc3721dd0935d0a4458babce258b) Author [@moeodeh3](https://github.com/moeodeh3) - Update per mono release `v2025.10.10-hotfix.2` ### Patch Changes - Updated dependencies [[`9fbd5c4`](https://github.com/tkhq/sdk/commit/9fbd5c459782dc3721dd0935d0a4458babce258b)]: - @turnkey/http@3.14.0 - @turnkey/crypto@2.8.4 - @turnkey/react-native-passkey-stamper@1.2.4 ## 1.5.2 ### Patch Changes - Updated dependencies [[`c745646`](https://github.com/tkhq/sdk/commit/c745646ae4b2a275e116abca07c6e108f89beb04)]: - @turnkey/crypto@2.8.4 ## 1.5.1 ### Patch Changes - [#1031](https://github.com/tkhq/sdk/pull/1031) [`886f319`](https://github.com/tkhq/sdk/commit/886f319fab8b0ba560d040e34598436f3beceff0) Author [@ethankonk](https://github.com/ethankonk) - Fixed session token getting cleared when using loginWithWallet ## 1.5.0 ### Minor Changes - [#992](https://github.com/tkhq/sdk/pull/992) [`5c4495b`](https://github.com/tkhq/sdk/commit/5c4495bff1b0abfe3c427ead1b8e1a8d510c8186) Author [@amircheikh](https://github.com/amircheikh) - - Added `verifyAppProofs` function. Used alongside activities that return app proofs, this function will fetch the corresponding boot proof for a list of app proofs and securely verify them on the client. Learn more about Turnkey Verified [here](https://docs.turnkey.com/security/turnkey-verified) - All auth methods that make signup requests now optionally return a list of `appProofs` ### Patch Changes - [#1020](https://github.com/tkhq/sdk/pull/1020) [`001d822`](https://github.com/tkhq/sdk/commit/001d8225202500e53aa399d6aee0c8f48f6060e0) Author [@moeodeh3](https://github.com/moeodeh3) - Fixed an issue in `signAndSendTransaction` where Ethereum embedded wallet transactions failed during broadcast due to missing `0x` prefixes - Updated dependencies [[`5c4495b`](https://github.com/tkhq/sdk/commit/5c4495bff1b0abfe3c427ead1b8e1a8d510c8186), [`5c4495b`](https://github.com/tkhq/sdk/commit/5c4495bff1b0abfe3c427ead1b8e1a8d510c8186)]: - @turnkey/crypto@2.8.3 - @turnkey/sdk-types@0.6.3 ## 1.4.2 ### Patch Changes - [#1016](https://github.com/tkhq/sdk/pull/1016) [`9df42ad`](https://github.com/tkhq/sdk/commit/9df42adc02c7ff77afba3b938536e79b57882ef1) Author [@amircheikh](https://github.com/amircheikh) - Synced API as per mono v2025.10.2 - Updated dependencies [[`9df42ad`](https://github.com/tkhq/sdk/commit/9df42adc02c7ff77afba3b938536e79b57882ef1), [`429e4c4`](https://github.com/tkhq/sdk/commit/429e4c4b5d897a7233584d4ec429b21bba7a1f2b)]: - @turnkey/sdk-types@0.6.2 - @turnkey/http@3.13.1 - @turnkey/react-native-passkey-stamper@1.2.3 - @turnkey/crypto@2.8.2 ## 1.4.1 ### Patch Changes - [#1010](https://github.com/tkhq/sdk/pull/1010) [`e5b9c5c`](https://github.com/tkhq/sdk/commit/e5b9c5c5694b1f4d60c0b8606822bcd6d61da4a3) Author [@moeodeh3](https://github.com/moeodeh3) - - Fixed errors not being deserialized in `withTurnkeyErrorHandling()`, which previously caused them to stringify as `[object Object]` - Improved error messages surfaced by `connectWalletAccount()` ## 1.4.0 ### Minor Changes - [#986](https://github.com/tkhq/sdk/pull/986) [`6ceb06e`](https://github.com/tkhq/sdk/commit/6ceb06ebdbb11b017ed97e81a7e0dcb862813bfa) Author [@amircheikh](https://github.com/amircheikh) - - Added `defaultStamperType` param to the configuration. This will force the underlying `httpClient` to default to a specific stamper for all requests - Added `createHttpClient` function. This allows a duplicate instance of `TurnkeySDKClientBase` to be created and returned. Custom configuration can be passed in to create an entirely new client with a unique config. This is useful for creating different HTTP clients with different default stampers to be used in our helper packages (`@turnkey/viem`, `@turnkey/ethers`, etc) - [#993](https://github.com/tkhq/sdk/pull/993) [`68631c4`](https://github.com/tkhq/sdk/commit/68631c4008387f845dfe4f1a139981011727f6c9) Author [@moeodeh3](https://github.com/moeodeh3) - - Added `sendSignedRequest()` to execute any `TSignedRequest` returned by SDK stamping methods. - Added `buildWalletLoginRequest()` method, which prepares and signs a wallet login request without sending it to Turnkey, returning the `stampLogin` signed request alongside the wallet’s public key used for login. ### Patch Changes - Updated dependencies [[`68631c4`](https://github.com/tkhq/sdk/commit/68631c4008387f845dfe4f1a139981011727f6c9)]: - @turnkey/sdk-types@0.6.1 - @turnkey/crypto@2.8.1 ## 1.3.0 ### Minor Changes - [#974](https://github.com/tkhq/sdk/pull/974) [`3997c0f`](https://github.com/tkhq/sdk/commit/3997c0fd08a8a85108acf904c0bf39d69f8dc79c) Author [@narimonf](https://github.com/narimonf) - Added `fetchBootProofForAppProof`, which fetches the boot proof for a given app proof. ### Patch Changes - [#982](https://github.com/tkhq/sdk/pull/982) [`4adbf9b`](https://github.com/tkhq/sdk/commit/4adbf9bbb6b93f84aa80e06a1eeabd61d1dbbb86) Author [@ethankonk](https://github.com/ethankonk) - - Fixed signing and broadcasting transactions with connected solana accounts - Fixed `fetchWallets` wallet account pagination issue - [#983](https://github.com/tkhq/sdk/pull/983) [`4ead6da`](https://github.com/tkhq/sdk/commit/4ead6da626468fde41daf85eae90faf18651d1c1) Author [@moeodeh3](https://github.com/moeodeh3) - WalletConnect initialization now has a 5-second timeout. If setup fails, it no longer blocks overall client initialization - Updated dependencies [[`3997c0f`](https://github.com/tkhq/sdk/commit/3997c0fd08a8a85108acf904c0bf39d69f8dc79c), [`3997c0f`](https://github.com/tkhq/sdk/commit/3997c0fd08a8a85108acf904c0bf39d69f8dc79c)]: - @turnkey/crypto@2.8.0 - @turnkey/sdk-types@0.6.0 ## 1.2.0 ### Minor Changes - [#977](https://github.com/tkhq/sdk/pull/977) [`4567059`](https://github.com/tkhq/sdk/commit/45670598f102223925b87a5295edca15a6ce8241) Author [@besler613](https://github.com/besler613) - OAuth2Authenticate now supports returning the encrypted bearer token via the optional `bearerTokenTargetPublicKey` request parameter (mono release v2025.9.5) ### Patch Changes - [#972](https://github.com/tkhq/sdk/pull/972) [`010543c`](https://github.com/tkhq/sdk/commit/010543c3b1b56a18816ea92a1a1cbe028cf988e4) Author [@moeodeh3](https://github.com/moeodeh3) - Fix exported types - Updated dependencies [[`4567059`](https://github.com/tkhq/sdk/commit/45670598f102223925b87a5295edca15a6ce8241)]: - @turnkey/sdk-types@0.5.0 - @turnkey/http@3.13.0 - @turnkey/crypto@2.7.0 - @turnkey/react-native-passkey-stamper@1.2.2 ## 1.1.0 ### Minor Changes - [#940](https://github.com/tkhq/sdk/pull/940) [`e4bc82f`](https://github.com/tkhq/sdk/commit/e4bc82fc51c692d742923ccfff72c2c862ee71a4) Author [@moeodeh3](https://github.com/moeodeh3) - - Added optional params for sessionless stamping (passkey/wallet only setups) ### Patch Changes - [#946](https://github.com/tkhq/sdk/pull/946) [`0080c4d`](https://github.com/tkhq/sdk/commit/0080c4d011a7f8d04b41d89b31863b75d1a816ef) Author [@moeodeh3](https://github.com/moeodeh3) - - Added `proposalExpired` event emission in WalletConnect provider - Added automatic URI regeneration when a WalletConnect URI expires - [#958](https://github.com/tkhq/sdk/pull/958) [`5a96fe8`](https://github.com/tkhq/sdk/commit/5a96fe80db4c4c45e09ad8c613695ee4c2b8e51f) Author [@amircheikh](https://github.com/amircheikh) - - Synced api with mono - [#960](https://github.com/tkhq/sdk/pull/960) [`c2a0bd7`](https://github.com/tkhq/sdk/commit/c2a0bd7ea8a53524cde16897f375f8a7088ba963) Author [@moeodeh3](https://github.com/moeodeh3) - - Removed requirement of session for external wallet usage - `connectExternalWalletAccount()` now returns the wallet address instead of `void` - `fetchWallets()` now supports an optional `connectedOnly` parameter to fetch only connected wallets - [#940](https://github.com/tkhq/sdk/pull/940) [`90841f9`](https://github.com/tkhq/sdk/commit/90841f95f3f738c47c04797096902d9d0a23afc7) Author [@moeodeh3](https://github.com/moeodeh3) - - Fixed signMessage() to respect the provided encoding override instead of silently ignoring it - Corrected Ethereum message prefixing for embedded wallets in `signMessage()` to fully align with EIP-191 standards - Updated dependencies [[`2191a1b`](https://github.com/tkhq/sdk/commit/2191a1b201fb17dea4c79cf9e02b3a493b18f97a), [`5a96fe8`](https://github.com/tkhq/sdk/commit/5a96fe80db4c4c45e09ad8c613695ee4c2b8e51f)]: - @turnkey/crypto@2.7.0 - @turnkey/sdk-types@0.4.1 - @turnkey/http@3.12.1 - @turnkey/react-native-passkey-stamper@1.2.1 ## 1.0.0 ### Major Changes - Initial Stable Release: `@turnkey/core` 🎉 Turnkey’s **core TypeScript client-side SDK** for Embedded Wallets is now generally available. - Provides a set of functions and utilities to interact with Turnkey’s APIs - Includes a powerful session management system - Comes with built-in stampers for signing flows - Exposes a raw HTTP client for advanced use cases - Designed to be the foundation for building Embedded Wallets across frameworks (React, React Native, Angular, Vue, Svelte) 📚 [Read the full docs here](https://docs.turnkey.com/sdks/typescript-frontend) ### Minor Changes - [#677](https://github.com/tkhq/sdk/pull/677) [`fc1d6e2`](https://github.com/tkhq/sdk/commit/fc1d6e2d26f4a53116633e9e8cccccd792267f4e) Author [@amircheikh](https://github.com/amircheikh) - @turnkey/react-wallet-kit and @turnkey/core beta-3 release - [#677](https://github.com/tkhq/sdk/pull/677) [`fc1d6e2`](https://github.com/tkhq/sdk/commit/fc1d6e2d26f4a53116633e9e8cccccd792267f4e) Author [@amircheikh](https://github.com/amircheikh) - @turnkey/react-wallet-kit and @turnkey/core beta-3 release - [#677](https://github.com/tkhq/sdk/pull/677) [`4880f26`](https://github.com/tkhq/sdk/commit/4880f26a4dd324c049bff7f35284098ccfc55823) Author [@amircheikh](https://github.com/amircheikh) - @turnkey/react-wallet-kit and @turnkey/core beta release - [#677](https://github.com/tkhq/sdk/pull/677) [`c6ee323`](https://github.com/tkhq/sdk/commit/c6ee3239c389a7bbbbb23610c84b883ed298f95c) Author [@amircheikh](https://github.com/amircheikh) - updating package versions - [#677](https://github.com/tkhq/sdk/pull/677) [`c6ee323`](https://github.com/tkhq/sdk/commit/c6ee3239c389a7bbbbb23610c84b883ed298f95c) Author [@amircheikh](https://github.com/amircheikh) - test build - [#677](https://github.com/tkhq/sdk/pull/677) [`06347ad`](https://github.com/tkhq/sdk/commit/06347adfa08fb0867c350e43821d0fed06c49624) Author [@amircheikh](https://github.com/amircheikh) - SDK beta release @turnkey/react-wallet-kit @turnkey/core ### Patch Changes - Updated dependencies [[`fc1d6e2`](https://github.com/tkhq/sdk/commit/fc1d6e2d26f4a53116633e9e8cccccd792267f4e), [`fc1d6e2`](https://github.com/tkhq/sdk/commit/fc1d6e2d26f4a53116633e9e8cccccd792267f4e), [`4880f26`](https://github.com/tkhq/sdk/commit/4880f26a4dd324c049bff7f35284098ccfc55823), [`c6ee323`](https://github.com/tkhq/sdk/commit/c6ee3239c389a7bbbbb23610c84b883ed298f95c), [`c6ee323`](https://github.com/tkhq/sdk/commit/c6ee3239c389a7bbbbb23610c84b883ed298f95c), [`c6ee323`](https://github.com/tkhq/sdk/commit/c6ee3239c389a7bbbbb23610c84b883ed298f95c), [`06347ad`](https://github.com/tkhq/sdk/commit/06347adfa08fb0867c350e43821d0fed06c49624), [`6bfcbc5`](https://github.com/tkhq/sdk/commit/6bfcbc5c098e64ab1d115518733b87cfc1653e17)]: - @turnkey/sdk-types@0.4.0 - @turnkey/encoding@0.6.0 - @turnkey/http@3.12.0 - @turnkey/crypto@2.6.0 - @turnkey/react-native-passkey-stamper@1.2.0 - @turnkey/webauthn-stamper@0.6.0 - @turnkey/api-key-stamper@0.5.0 ## 1.0.0-beta.6 ### Minor Changes - @turnkey/react-wallet-kit and @turnkey/core beta release ### Patch Changes - Updated dependencies []: - @turnkey/sdk-types@0.4.0-beta.6 - @turnkey/encoding@0.6.0-beta.6 - @turnkey/crypto@2.6.0-beta.6 - @turnkey/api-key-stamper@0.5.0-beta.6 - @turnkey/http@3.11.1-beta.0 - @turnkey/react-native-passkey-stamper@1.2.0-beta.1 ## 1.0.0-beta.5 ### Minor Changes - SDK beta release @turnkey/react-wallet-kit @turnkey/core ### Patch Changes - Updated dependencies []: - @turnkey/react-native-passkey-stamper@1.2.0-beta.0 - @turnkey/webauthn-stamper@0.6.0-beta.0 - @turnkey/api-key-stamper@0.5.0-beta.5 - @turnkey/sdk-types@0.4.0-beta.5 - @turnkey/encoding@0.6.0-beta.5 - @turnkey/crypto@2.6.0-beta.5 - @turnkey/http@3.10.0-beta.2 ## 1.0.0-beta.4 ### Minor Changes - @turnkey/react-wallet-kit and @turnkey/core beta-3 release ### Patch Changes - Updated dependencies []: - @turnkey/sdk-types@0.4.0-beta.4 - @turnkey/encoding@0.6.0-beta.4 - @turnkey/http@3.10.0-beta.1 - @turnkey/api-key-stamper@0.4.8-beta.4 - @turnkey/crypto@2.5.1-beta.4 - @turnkey/react-native-passkey-stamper@1.1.2-beta.4 ## 1.0.0-beta.3 ### Minor Changes - @turnkey/react-wallet-kit and @turnkey/core beta-3 release ### Patch Changes - Updated dependencies []: - @turnkey/sdk-types@0.4.0-beta.3 - @turnkey/encoding@0.6.0-beta.3 - @turnkey/http@3.10.0-beta.0 - @turnkey/api-key-stamper@0.4.8-beta.3 - @turnkey/crypto@2.5.1-beta.3 - @turnkey/react-native-passkey-stamper@1.1.2-beta.3 ## 1.0.0-beta.2 ### Minor Changes - updating package versions ### Patch Changes - Updated dependencies []: - @turnkey/sdk-types@0.4.0-beta.2 - @turnkey/encoding@0.6.0-beta.2 - @turnkey/api-key-stamper@0.4.8-beta.2 - @turnkey/crypto@2.5.1-beta.2 - @turnkey/http@3.8.1-beta.2 - @turnkey/react-native-passkey-stamper@1.1.2-beta.2 ## 1.0.0-beta.1 ### Minor Changes - test build ### Patch Changes - Updated dependencies []: - @turnkey/sdk-types@0.4.0-beta.1 - @turnkey/encoding@0.6.0-beta.1 - @turnkey/api-key-stamper@0.4.8-beta.1 - @turnkey/crypto@2.5.1-beta.1 - @turnkey/http@3.8.1-beta.1 - @turnkey/react-native-passkey-stamper@1.1.2-beta.1 ## 1.0.0-beta.0 ### Major Changes - beta for @turnkey/react-wallet-kit and @turnkey/core ### Patch Changes - Updated dependencies []: - @turnkey/sdk-types@0.4.0-beta.0 - @turnkey/encoding@0.6.0-beta.0 - @turnkey/api-key-stamper@0.4.8-beta.0 - @turnkey/crypto@2.5.1-beta.0 - @turnkey/http@3.8.1-beta.0 - @turnkey/react-native-passkey-stamper@1.1.2-beta.0 ## 1.0.0 ### Major Changes - Initial beta release for react wallet kit ### Patch Changes - Updated dependencies []: - @turnkey/sdk-types@0.4.0 - @turnkey/encoding@0.6.0 - @turnkey/api-key-stamper@0.4.8 - @turnkey/crypto@2.5.1 - @turnkey/http@3.8.1 - @turnkey/react-native-passkey-stamper@1.1.2 ## 1.0.0 ### Major Changes - Initial beta release for @turnkey/react-wallet-kit and @turnkey/core ### Patch Changes - Updated dependencies []: - @turnkey/sdk-types@0.4.0 - @turnkey/encoding@0.6.0 - @turnkey/api-key-stamper@0.4.8 - @turnkey/crypto@2.5.1 - @turnkey/http@3.8.1 - @turnkey/react-native-passkey-stamper@1.1.2