# @turnkey/react-wallet-kit
## 2.4.2
### Patch Changes
- Updated dependencies [[`35f9cce`](https://github.com/tkhq/sdk/commit/35f9cce418b3704d8e77840c0d76b325079982cb), [`22a6682`](https://github.com/tkhq/sdk/commit/22a6682a3a7c5ad7b192cb46ffc599e073802ccf)]:
- @turnkey/sdk-types@1.6.0
- @turnkey/core@2.8.0
## 2.4.1
### Patch Changes
- Updated dependencies [[`9fe6ceb`](https://github.com/tkhq/sdk/commit/9fe6cebf0047a22b8106f4cd79568ca1da429da7)]:
- @turnkey/core@2.7.1
## 2.4.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 attested stamping support. Expose `overrideAttestedStamper()` on the client context. OTP verification and OAuth popup flows now automatically configure the attested stamper with the verification token or OIDC token. OTP and OAuth login flows use `stampLogin` with an attested stamp (`X-Stamp-Attested`) instead of the proxy-specific `proxyOtpLoginV2` / `proxyOAuthLogin` endpoints.
### 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`.
### MFA handling
Add MFA support. Expose `setMfaHandler` on the client context, a ref-based function that lets you register or clear a custom MFA handler at any point during the component lifecycle. When set, the handler is invoked with an `MfaContext` whenever an activity requires multi-factor approval (`ACTIVITY_STATUS_AUTHENTICATORS_NEEDED` or `ACTIVITY_STATUS_CONSENSUS_NEEDED`). The client automatically fetches MFA statuses via `getMfaStatus` and re-polls for completion after the handler resolves. Pass `undefined` to clear the handler and restore the default behavior.
### Patch Changes
- [#1485](https://github.com/tkhq/sdk/pull/1485) [`e9ae3e6`](https://github.com/tkhq/sdk/commit/e9ae3e6e8db3423df143cac4c1b1e7fdc1e757e0) Author [@justinformentin](https://github.com/justinformentin) - Only render the OTP screen's Turnstile widget when the user requests a new code; submitting the code never used it.
- Updated dependencies [[`e1fdcb1`](https://github.com/tkhq/sdk/commit/e1fdcb16444e6902f220612bea002a7313607900), [`e1fdcb1`](https://github.com/tkhq/sdk/commit/e1fdcb16444e6902f220612bea002a7313607900)]:
- @turnkey/sdk-types@1.5.1
- @turnkey/core@2.7.0
## 2.3.2
### Patch Changes
- [#1461](https://github.com/tkhq/sdk/pull/1461) [`751b8fe`](https://github.com/tkhq/sdk/commit/751b8fe0132e21ab388f045227306ed8ebef4cc4) Thanks [@lreading-turnkey](https://github.com/lreading-turnkey)! - Validate the configured OAuth redirect endpoint before processing popup responses, aligned with RFC 6749.
- Updated dependencies [[`f191ad9`](https://github.com/tkhq/sdk/commit/f191ad98d5bd194a12045d9b0c562abccb07169a)]:
- @turnkey/sdk-types@1.5.0
- @turnkey/core@2.6.0
## 2.3.1
### Patch Changes
- Updated dependencies [[`4a20057`](https://github.com/tkhq/sdk/commit/4a20057b37d6081c0c38c0a4840affcd16140d47)]:
- @turnkey/sdk-types@1.4.0
- @turnkey/core@2.5.0
## 2.3.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,
},
});
```
- Add Cloudflare Turnstile captcha support to the auth flows. Set `turnstileSiteKey` (auto-fetched from the auth proxy) to render a Turnstile widget that gates authentication; auth methods accept an optional `captchaToken`. Fails open when the widget can't load and auto-resets on token expiry.
### Patch Changes
- Updated dependencies [[`09d0e19`](https://github.com/tkhq/sdk/commit/09d0e19ee6b4b2c1be14762650613f7fbae036b0), [`09d0e19`](https://github.com/tkhq/sdk/commit/09d0e19ee6b4b2c1be14762650613f7fbae036b0), [`b447497`](https://github.com/tkhq/sdk/commit/b447497e965b0b1df02d2294e87f89cedb761719), [`257d52a`](https://github.com/tkhq/sdk/commit/257d52a108e903beea15be8b2a0e6d222fe07ed9)]:
- @turnkey/sdk-types@1.3.0
- @turnkey/core@2.4.0
## 2.2.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 }],
},
});
```
- `handleSendTransaction` 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 handleSendTransaction({
transaction: { from, caip2, to, value, data },
});
// V2 — batch one or more calls via `calls`
await handleSendTransaction({
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/sdk-types@1.2.0
- @turnkey/core@2.3.0
## 2.1.1
### Patch Changes
- [#1414](https://github.com/tkhq/sdk/pull/1414) [`14710ee`](https://github.com/tkhq/sdk/commit/14710ee1e281424fa4c2702df84c84741162dd6e) Thanks [@t-vila](https://github.com/t-vila)! - Fix chain selector picking wrong wallet when multiple EVM wallets are installed. The provider lookup now matches by wallet identity (rdns preferred, name as fallback) in addition to interface type and chain namespace.
## 2.1.0
### Minor Changes
- [#1391](https://github.com/tkhq/sdk/pull/1391) [`3e59b88`](https://github.com/tkhq/sdk/commit/3e59b88c5fc4a73855e6e1a5692b507fd4c4249d) Author [@ethankonk](https://github.com/ethankonk) - Added mobile WalletConnect support with deep linking to wallet apps, filtered by chain namespace.
### Patch Changes
- Updated dependencies [[`fb82279`](https://github.com/tkhq/sdk/commit/fb82279ed954a25bd0a23418664315fb43d0e2ec), [`325fded`](https://github.com/tkhq/sdk/commit/325fdedf2c647c9a93f28aa7355b1ff0053689f9)]:
- @turnkey/core@2.2.0
- @turnkey/iframe-stamper@2.11.1
## 2.0.1
### Patch Changes
- [#1350](https://github.com/tkhq/sdk/pull/1350) [`5974020`](https://github.com/tkhq/sdk/commit/597402080af9d03cbdcc63b5b8f8a3aa462923b6) Author [@hadrelandon](https://github.com/hadrelandon) - Add optional `config.ui.styleNonce` to forward a CSP nonce to the injected theme override style tag for strict CSP support in dynamically-rendered apps.
Thanks to @samsamtrum for the original PR!
- Updated dependencies [[`bf2c28f`](https://github.com/tkhq/sdk/commit/bf2c28fec690ec31254125405bf15a482139109b), [`f505818`](https://github.com/tkhq/sdk/commit/f505818e121c137d290156a32918a884ba80e5f5), [`3adc0c9`](https://github.com/tkhq/sdk/commit/3adc0c96cf524b59584e5f5688f7830fc79ebeb4)]:
- @turnkey/sdk-types@1.1.0
- @turnkey/core@2.1.0
## 2.0.0
### Major Changes
- [#1250](https://github.com/tkhq/sdk/pull/1250) [`654fadc`](https://github.com/tkhq/sdk/commit/654fadc7b8296b7af7e5a68dee9ee6de20eef4c1) Author [@moeodeh3](https://github.com/moeodeh3) - ### `initOtp`
**What changed:** Now returns an `InitOtpResult` object instead of a plain `otpId` string.
```ts
// before
const otpId: string = await initOtp({
otpType: OtpType.Email,
contact: "user@example.com",
});
// after
const { otpId, otpEncryptionTargetBundle }: InitOtpResult = await initOtp({
otpType: OtpType.Email,
contact: "user@example.com",
});
```
***
### `verifyOtp`
**What changed:** Removed `contact` and `otpType` params. Added required `otpEncryptionTargetBundle`. The account lookup (`proxyGetAccount`) that previously happened inside `verifyOtp` has been moved out, so `verifyOtp` is now purely verification. Returns `verificationToken` and `publicKey` (removed `subOrganizationId`).
```ts
// before — verifyOtp also fetched the subOrganizationId internally
const { subOrganizationId, verificationToken } = await verifyOtp({
otpId,
otpCode,
contact: "user@example.com",
otpType: OtpType.Email,
});
// after — verification only; account lookup is separate
const { verificationToken, publicKey } = await verifyOtp({
otpId,
otpCode,
otpEncryptionTargetBundle, // new — from initOtp
publicKey,
});
// account lookup is now done separately (e.g. inside completeOtp)
const { organizationId: subOrgId } = await httpClient.proxyGetAccount({
filterType: OtpTypeToFilterTypeMap[otpType],
filterValue: contact,
verificationToken,
});
```
***
### `loginWithOtp`
**What changed:** Removed `publicKey` param. The key bound during `verifyOtp` is now automatically reused as the session public key and used to produce the required `clientSignature`.
```ts
// before
await loginWithOtp({
verificationToken,
publicKey,
invalidateExisting: true,
});
// after
await loginWithOtp({
verificationToken,
invalidateExisting: true,
});
```
***
### `signUpWithOtp`
**What changed:** Removed `publicKey` param. The key bound during `verifyOtp` is now automatically reused as the session public key and used to produce the required `clientSignature`.
```ts
// before
await signUpWithOtp({
verificationToken,
contact: "user@example.com",
otpType: OtpType.Email,
publicKey,
});
// after
await signUpWithOtp({
verificationToken,
contact: "user@example.com",
otpType: OtpType.Email,
});
```
- [#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) [`63a8e9b`](https://github.com/tkhq/sdk/commit/63a8e9b9505671ed76bee1658053a8af72408efd) Author [@moeodeh3](https://github.com/moeodeh3) - ### Auth modal config moved to `ui.authModal`
**What changed:** `methods`, `methodOrder`, and `oauthOrder` moved from `TurnkeyProviderConfig.auth` to `TurnkeyProviderConfig.ui.authModal`.
```ts
// before
;
// after
;
```
***
### Secondary client IDs
**What changed:** Each OAuth provider in `TurnkeyProviderConfig.auth.oauthConfig` is now configured via a nested `OauthProviderConfig` object (`{ primaryClientId, secondaryClientIds }`) instead of flat `*ClientId` strings. Every `handle*Oauth` function and `handleAddOauthProvider` accept the same `primaryClientId` / `secondaryClientIds` overrides on a per-call basis.
`secondaryClientIds` are additional client IDs that get linked to the user during sign-up: they're decoded into `oidcClaims` (`{ iss, sub, aud }`) sharing the same identity as the primary OIDC token and registered as additional audiences during sub-organization creation. This lets a user who signed in with one client ID on one platform sign in with a different client ID on another platform and resolve to the same sub-organization. Existing users can call `addOauthProvider` with `oidcClaims` to retroactively link new audiences.
```ts
// before
",
appleClientId: "",
},
},
}}
/>;
// after
",
secondaryClientIds: [""],
},
apple: {
primaryClientId: "",
},
},
},
}}
/>;
```
***
### `handle*Oauth` params
**What changed:** Renamed `clientId` → `primaryClientId` and added `secondaryClientIds` to every `handle*Oauth` function (`handleGoogleOauth`, `handleAppleOauth`, `handleFacebookOauth`, `handleXOauth`, `handleDiscordOauth`). Per-call overrides take precedence over the values from `TurnkeyProviderConfig`.
```ts
// before
await handleGoogleOauth({ clientId: "" });
// after
await handleGoogleOauth({
primaryClientId: "",
secondaryClientIds: [""],
});
```
***
### `handleAddOauthProvider`
**What changed:** Added `primaryClientId` and `secondaryClientIds`. Any `secondaryClientIds` (from the call or from `TurnkeyProviderConfig`) are decoded into `oidcClaims` and forwarded to `addOauthProvider`, registering them as additional audiences on the new provider entry alongside the primary OIDC token.
```ts
// add a new Google provider, linking an additional Google client ID as a secondary audience
await handleAddOauthProvider({
providerName: OAuthProviders.GOOGLE,
primaryClientId: "",
secondaryClientIds: [""],
});
```
### 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
- [#1290](https://github.com/tkhq/sdk/pull/1290) [`2b65654`](https://github.com/tkhq/sdk/commit/2b6565453028639441d4dc72fc1f5897c9213e87) Author [@hadrelandon](https://github.com/hadrelandon) - Added `auth.scopePasskeyToUser` to control passkey scoping on the provider config.
- [#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
- [#1280](https://github.com/tkhq/sdk/pull/1280) [`acc33d8`](https://github.com/tkhq/sdk/commit/acc33d879b826fbf63473635f9bd160da1f39c39) Author [@hadrelandon](https://github.com/hadrelandon) - Fixed OAuth state validation to reject missing, tampered, and mismatched state parameters, and to always clean up stored state after validation attempts.
- [#1286](https://github.com/tkhq/sdk/pull/1286) [`763761d`](https://github.com/tkhq/sdk/commit/763761df369841154253c3a51291ffeca61c811d) Author [@moeodeh3](https://github.com/moeodeh3) - Scope passkey `allowCredentials` to the authenticated user's credentials after login. `refreshUser` now returns `v1User | undefined`.
- Updated dependencies [[`7a36539`](https://github.com/tkhq/sdk/commit/7a36539196856a8bd4ca4c54115fa9874ccc83fa), [`11b1717`](https://github.com/tkhq/sdk/commit/11b1717896e27d2fbfc5efc73af5e29c4cf0258b), [`ec0e99a`](https://github.com/tkhq/sdk/commit/ec0e99af3c0a523505c12b8e44efedca539e2399), [`34522d4`](https://github.com/tkhq/sdk/commit/34522d447592138a82d34cd690091315f9748edb), [`7a36539`](https://github.com/tkhq/sdk/commit/7a36539196856a8bd4ca4c54115fa9874ccc83fa), [`1901eb8`](https://github.com/tkhq/sdk/commit/1901eb88b24cc68256f71789bfbed139aba91bb4), [`63a8e9b`](https://github.com/tkhq/sdk/commit/63a8e9b9505671ed76bee1658053a8af72408efd), [`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/core@2.0.0
- @turnkey/sdk-types@1.0.0
## 1.11.1
### Patch Changes
- [#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()`
- [#1258](https://github.com/tkhq/sdk/pull/1258) [`6f9ceaa`](https://github.com/tkhq/sdk/commit/6f9ceaaa4c806e1014222f66df519779b9820108) Author [@moeodeh3](https://github.com/moeodeh3) - Fixed `handleXOauth()` not working on Android when the X app is installed.
- Updated dependencies [[`ef66673`](https://github.com/tkhq/sdk/commit/ef6667325d210c8aa0ea4c1d11d834ff28ddb66c), [`aa3e55e`](https://github.com/tkhq/sdk/commit/aa3e55e1e5adea1945647c84fe247bc2761a8f77), [`8209887`](https://github.com/tkhq/sdk/commit/8209887d48bae7ea617645603a156aeb1cfbd2e7), [`59ebe9b`](https://github.com/tkhq/sdk/commit/59ebe9bc4a5fa3c015ed32cc6b8ab0b66523b0a4)]:
- @turnkey/sdk-types@0.14.0
- @turnkey/core@1.14.1
## 1.11.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 [[`068abcb`](https://github.com/tkhq/sdk/commit/068abcb11e05972329034222bed52865f405f1c4)]:
- @turnkey/sdk-types@0.13.0
- @turnkey/core@1.14.0
## 1.10.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
- Updated dependencies [[`82dc76c`](https://github.com/tkhq/sdk/commit/82dc76c7ce51e5375570bbffab32eb739af90381), [`1d108d6`](https://github.com/tkhq/sdk/commit/1d108d6496ad8266db0e997a27aecc81e46008fb), [`dfdd864`](https://github.com/tkhq/sdk/commit/dfdd8647266fdd0297aaea32046ee815ae8fc27c)]:
- @turnkey/core@1.13.0
- @turnkey/sdk-types@0.12.1
## 1.9.0
### Minor Changes
- [#1204](https://github.com/tkhq/sdk/pull/1204) [`389a75a`](https://github.com/tkhq/sdk/commit/389a75af8539570a663df366d61ccc7fd390c414) Author [@radusandor](https://github.com/radusandor) - Fix swapped JSDoc comments for handleUpdateUserEmail and handleUpdateUserName
### Patch Changes
- [#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 [[`af6262f`](https://github.com/tkhq/sdk/commit/af6262f31e1abb3090fcda1eec5318056e6d51fe), [`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/core@1.12.0
- @turnkey/sdk-types@0.12.0
## 1.8.1
### Patch Changes
- Updated dependencies [[`d49ef7e`](https://github.com/tkhq/sdk/commit/d49ef7e9f0f78f16b1324a357f61cf0351198096), [`dced9db`](https://github.com/tkhq/sdk/commit/dced9dbbd8ea533442e19e45ce36e6a05a45a555)]:
- @turnkey/core@1.11.2
## 1.8.0
### Minor Changes
- [#1180](https://github.com/tkhq/sdk/pull/1180) [`8e075b7`](https://github.com/tkhq/sdk/commit/8e075b7161ccc68cb446b10b54737856fa0c6d31) Author [@amircheikh](https://github.com/amircheikh) - Added optional `openInPage` boolean parameter to `handleAddOauthProvider` which open the oAuth flow in the current page (redirect). This respects the `openInPage` value passed into the `TurnkeyConfig` and defaults to `true` on mobile devices.
Twitter oAuth credentials created from `handleXOauth` or `handleAddOauthProvider` will now be stored with the `providerName` `"x"` in the user's `oauthProviders` list. This only affects new credentials.
- [#1126](https://github.com/tkhq/sdk/pull/1126) [`fb0ff3e`](https://github.com/tkhq/sdk/commit/fb0ff3e38e061c48f01b35c44294f4549b61d61d) Author [@ethankonk](https://github.com/ethankonk) - Added Bitcoin WIF & Sui Bech32 private key formats to import/export with iframe flows
### Patch Changes
- Updated dependencies [[`8e075b7`](https://github.com/tkhq/sdk/commit/8e075b7161ccc68cb446b10b54737856fa0c6d31), [`2d19991`](https://github.com/tkhq/sdk/commit/2d19991bcf4e1c9704b73a48c54e870373b4bd95), [`89d4084`](https://github.com/tkhq/sdk/commit/89d40844d791b0bbb6d439da5e778b1fdeca4273), [`ba2521d`](https://github.com/tkhq/sdk/commit/ba2521d5d1c1f6baaa58ee65dce8cc4839f7dc7b), [`12ca083`](https://github.com/tkhq/sdk/commit/12ca083314310b05cf41ac29fa2d55eed627f229), [`a85153c`](https://github.com/tkhq/sdk/commit/a85153c8ccc7454cd5aca974bc463fb47c7f8cd4), [`fb0ff3e`](https://github.com/tkhq/sdk/commit/fb0ff3e38e061c48f01b35c44294f4549b61d61d)]:
- @turnkey/sdk-types@0.11.2
- @turnkey/core@1.11.1
- @turnkey/iframe-stamper@2.10.0
## 1.7.2
### Patch Changes
- Updated dependencies [[`91d6a9e`](https://github.com/tkhq/sdk/commit/91d6a9eb1b9ac9e21745749615ac7a7be66f5cf6), [`699fbd7`](https://github.com/tkhq/sdk/commit/699fbd75ef3f44f768ae641ab4f652e966b8e289), [`91d6a9e`](https://github.com/tkhq/sdk/commit/91d6a9eb1b9ac9e21745749615ac7a7be66f5cf6)]:
- @turnkey/core@1.11.0
- @turnkey/sdk-types@0.11.1
## 1.7.1
### Patch Changes
- Updated dependencies [[`6261eed`](https://github.com/tkhq/sdk/commit/6261eed95af8627bf1e95e7291b9760a2267e301), [`78ec1d9`](https://github.com/tkhq/sdk/commit/78ec1d9afcafde3ca7107fc720323d486d6afaea)]:
- @turnkey/core@1.10.0
- @turnkey/sdk-types@0.11.0
## 1.7.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 a new `handleSendTransaction` helper to the Wallet Kit (**for embedded wallet use only**).
This handler provides a complete transaction-submission flow, including:
- Construction of the Ethereum transaction intent (sponsored and non-sponsored)
- Submission via `ethSendTransaction` from `@turnkey/core`
- Integrated modal UI for progress + success states
- Polling for transaction confirmation using `pollTransactionStatus`
- Surfacing of the final on-chain `txHash` back to the caller
This addition centralizes all transaction UX and logic into a single, reusable helper and enables consistent send-transaction flows across applications using the Wallet Kit.
### Patch Changes
- Updated dependencies [[`29a42db`](https://github.com/tkhq/sdk/commit/29a42db8f5f3ef8b9c23c90cd00f4c21027aac2e), [`29a42db`](https://github.com/tkhq/sdk/commit/29a42db8f5f3ef8b9c23c90cd00f4c21027aac2e)]:
- @turnkey/sdk-types@0.10.0
- @turnkey/core@1.9.0
## 1.6.3
### Patch Changes
- Updated dependencies [[`850a3ee`](https://github.com/tkhq/sdk/commit/850a3ee5dbb5e2cc46bda50348c917c555e55f73), [`7185545`](https://github.com/tkhq/sdk/commit/7185545ea1fc05eb738af09de5a594455f2e08f3)]:
- @turnkey/iframe-stamper@2.9.0
- @turnkey/core@1.8.3
## 1.6.2
### Patch Changes
- Updated dependencies [[`3c23fc2`](https://github.com/tkhq/sdk/commit/3c23fc27eda5325a90e79afff4cc3a16f682e1d9)]:
- @turnkey/core@1.8.2
## 1.6.1
### Patch Changes
- Updated dependencies [[`d4768c7`](https://github.com/tkhq/sdk/commit/d4768c71b6796532c9800d546154116e5d36b255), [`7ac558c`](https://github.com/tkhq/sdk/commit/7ac558c39c3fa0ddeb6e695182a49f03ee6d4f00)]:
- @turnkey/core@1.8.1
- @turnkey/iframe-stamper@2.8.0
## 1.6.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 unnecessary re-renders by ensuring all `useCallback` hooks include only direct dependencies
- ConnectWallet and Auth model updated to show WalletConnect loading state during initialization
### Patch Changes
- [#1102](https://github.com/tkhq/sdk/pull/1102) [`8ed182a`](https://github.com/tkhq/sdk/commit/8ed182aa95218b348d1f8e79c235ce86f418e0bf) Author [@amircheikh](https://github.com/amircheikh) - - Added `autoFetchWalletKitConfig` option to the `TurnkeyProvider` config. Setting this to false will disable the initial `walletKitConfig` fetch, saving on initialization time. If this is disabled and you want to use the `handleLogin` modal with Turnkey's Auth Proxy, you must pass in the enabled auth methods manually into the `TurnkeyProvider` config.
- Fixed `refreshWallets` and `refreshUser` not working when `autoRefreshManagedState` is disabled.
- Updated dependencies [[`fd2e031`](https://github.com/tkhq/sdk/commit/fd2e0318079de922512b1f5adb404b11921f77b7), [`80ea306`](https://github.com/tkhq/sdk/commit/80ea306025a2161ff575a5e2b45794460eafdf1b), [`e1bd68f`](https://github.com/tkhq/sdk/commit/e1bd68f963d6bbd9c797b1a8f077efadccdec421)]:
- @turnkey/core@1.8.0
- @turnkey/sdk-types@0.9.0
## 1.5.1
### Patch Changes
- [#1086](https://github.com/tkhq/sdk/pull/1086) [`2fd1d55`](https://github.com/tkhq/sdk/commit/2fd1d5555dd358a1c0210ca65fd6ca70ff172058) Author [@amircheikh](https://github.com/amircheikh) - Added optional `clearClipboardOnPaste` to `handleImportWallet` and `handleImportPrivateKey`. Defaulting to true, this will create the import iframe with `clipboard-write` permissions. Allows clipboard to be cleared after pasting in secrets to import.
- [#1083](https://github.com/tkhq/sdk/pull/1083) [`658b89c`](https://github.com/tkhq/sdk/commit/658b89c9036f03ec52963ca0a4ea68d00f39e94e) Thanks [@moe-dev](https://github.com/moe-dev)! - Minor fixes - change on-ramp to onramp and change sandbox info text to match primary colour
- Updated dependencies [[`2fd1d55`](https://github.com/tkhq/sdk/commit/2fd1d5555dd358a1c0210ca65fd6ca70ff172058)]:
- @turnkey/iframe-stamper@2.7.1
## 1.5.0
### Minor Changes
- [#1062](https://github.com/tkhq/sdk/pull/1062) [`084acce`](https://github.com/tkhq/sdk/commit/084acce85fe7c15513a025e77c1571012ac82e4b) Thanks [@moe-dev](https://github.com/moe-dev)! - - **Added `handleOnRamp()` helper** to simplify fiat-to-crypto on-ramping flows directly from the SDK.
- Supports overriding defaults through optional parameters:
- `network` (e.g., `FiatOnRampBlockchainNetwork.ETHEREUM`)
- `cryptoCurrencyCode` (e.g., `FiatOnRampCryptoCurrency.ETHEREUM`)
- `fiatCurrencyAmount`, `fiatCurrencyCode`, `paymentMethod`, and `onrampProvider`.
- Integrates seamlessly with the `client.httpClient.initFiatOnRamp()` method to open a provider popup (Coinbase, MoonPay, etc.) and monitor transaction completion.
### Patch Changes
- Updated dependencies [[`beee465`](https://github.com/tkhq/sdk/commit/beee465a13f64abeb71c5c00519f7abab9942607), [`084acce`](https://github.com/tkhq/sdk/commit/084acce85fe7c15513a025e77c1571012ac82e4b), [`67b03a5`](https://github.com/tkhq/sdk/commit/67b03a5d9ab1b6eabfb0b41938ac91365b5dcd9b)]:
- @turnkey/core@1.7.0
- @turnkey/sdk-types@0.8.0
## 1.4.3
### Patch Changes
- [#1059](https://github.com/tkhq/sdk/pull/1059) [`046544f`](https://github.com/tkhq/sdk/commit/046544fa4243f31b28068f5b82917e54b8442be5) Author [@moeodeh3](https://github.com/moeodeh3) - Fixed `storeSession` not updating wallet and user state
- Updated dependencies [[`9fbd5c4`](https://github.com/tkhq/sdk/commit/9fbd5c459782dc3721dd0935d0a4458babce258b)]:
- @turnkey/core@1.6.0
## 1.4.2
### Patch Changes
- [#1049](https://github.com/tkhq/sdk/pull/1049) [`4ea9649`](https://github.com/tkhq/sdk/commit/4ea9649f458b7f24f68bc2b64264128928bfc89b) Author [@moeodeh3](https://github.com/moeodeh3) - Fixed `userId` param being ignored in handleUpdateUserName and handleAddPhoneNumber
- [#1049](https://github.com/tkhq/sdk/pull/1049) [`c9f29a4`](https://github.com/tkhq/sdk/commit/c9f29a4bb19a4f7ded7ecc8dc7e53994aa45be63) Author [@moeodeh3](https://github.com/moeodeh3) - Fixed `expirationSeconds` param being ignored in auth functions
- Updated dependencies []:
- @turnkey/core@1.5.2
## 1.4.1
### Patch Changes
- Updated dependencies [[`886f319`](https://github.com/tkhq/sdk/commit/886f319fab8b0ba560d040e34598436f3beceff0)]:
- @turnkey/core@1.5.1
## 1.4.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`
- Added `handleVerifyAppProofs` function. This will do the same actions as `verifyAppProofs` but will also show a loading and confirmation modal
- Added `verifyWalletOnSignup` param to the `TurnkeyProvider` config. This will automatically run `handleVerifyAppProofs` after a successful signup
### Patch Changes
- Updated dependencies [[`5c4495b`](https://github.com/tkhq/sdk/commit/5c4495bff1b0abfe3c427ead1b8e1a8d510c8186), [`5c4495b`](https://github.com/tkhq/sdk/commit/5c4495bff1b0abfe3c427ead1b8e1a8d510c8186), [`001d822`](https://github.com/tkhq/sdk/commit/001d8225202500e53aa399d6aee0c8f48f6060e0)]:
- @turnkey/core@1.5.0
- @turnkey/sdk-types@0.6.3
## 1.3.3
### Patch Changes
- [#1012](https://github.com/tkhq/sdk/pull/1012) [`9e123eb`](https://github.com/tkhq/sdk/commit/9e123eb154df7183bef002c7f94c57a72c6ef81b) Author [@moeodeh3](https://github.com/moeodeh3) - Fixed `switchWalletAccountChain` referencing stale `walletProvider` state
- Updated dependencies [[`9df42ad`](https://github.com/tkhq/sdk/commit/9df42adc02c7ff77afba3b938536e79b57882ef1)]:
- @turnkey/sdk-types@0.6.2
- @turnkey/core@1.4.2
## 1.3.2
### 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 stuck connecting state in `handleConnectExternalWallet()`
- Updated dependencies [[`e5b9c5c`](https://github.com/tkhq/sdk/commit/e5b9c5c5694b1f4d60c0b8606822bcd6d61da4a3)]:
- @turnkey/core@1.4.1
## 1.3.1
### Patch Changes
- [#997](https://github.com/tkhq/sdk/pull/997) [`b6f9675`](https://github.com/tkhq/sdk/commit/b6f96757356c8b35563e4147d73a99a95e522a64) Author [@moeodeh3](https://github.com/moeodeh3) - Added missing `publicKey` field to the `onOauthSuccess` callback in OAuth handler functions
## 1.3.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
- [#989](https://github.com/tkhq/sdk/pull/989) [`9ca7b8b`](https://github.com/tkhq/sdk/commit/9ca7b8bdf7cb897948d377d544b85b69a98b7a29) Author [@amircheikh](https://github.com/amircheikh) - Padding and margin styles are now only forced under `.tk-modal`
- Updated dependencies [[`68631c4`](https://github.com/tkhq/sdk/commit/68631c4008387f845dfe4f1a139981011727f6c9), [`6ceb06e`](https://github.com/tkhq/sdk/commit/6ceb06ebdbb11b017ed97e81a7e0dcb862813bfa), [`68631c4`](https://github.com/tkhq/sdk/commit/68631c4008387f845dfe4f1a139981011727f6c9)]:
- @turnkey/sdk-types@0.6.1
- @turnkey/core@1.4.0
## 1.2.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
- [#973](https://github.com/tkhq/sdk/pull/973) [`48f59f9`](https://github.com/tkhq/sdk/commit/48f59f9ffe7f64ec526b40bb8e03feac8ad0d7ba) Author [@moeodeh3](https://github.com/moeodeh3) - Fix handling of providers that cannot be disconnected
- Updated dependencies [[`4adbf9b`](https://github.com/tkhq/sdk/commit/4adbf9bbb6b93f84aa80e06a1eeabd61d1dbbb86), [`4ead6da`](https://github.com/tkhq/sdk/commit/4ead6da626468fde41daf85eae90faf18651d1c1), [`3997c0f`](https://github.com/tkhq/sdk/commit/3997c0fd08a8a85108acf904c0bf39d69f8dc79c), [`3997c0f`](https://github.com/tkhq/sdk/commit/3997c0fd08a8a85108acf904c0bf39d69f8dc79c)]:
- @turnkey/core@1.3.0
- @turnkey/sdk-types@0.6.0
## 1.1.2
### Patch Changes
- Updated dependencies [[`4567059`](https://github.com/tkhq/sdk/commit/45670598f102223925b87a5295edca15a6ce8241), [`010543c`](https://github.com/tkhq/sdk/commit/010543c3b1b56a18816ea92a1a1cbe028cf988e4)]:
- @turnkey/sdk-types@0.5.0
- @turnkey/core@1.2.0
## 1.1.1
### Patch Changes
- [#968](https://github.com/tkhq/sdk/pull/968) [`14424ee`](https://github.com/tkhq/sdk/commit/14424eeeabb9cea8067f978051dceb0537c22e34) Author [@moeodeh3](https://github.com/moeodeh3) - Fixed type re-exports from `@turnkey/core`
- [#962](https://github.com/tkhq/sdk/pull/962) [`62937e7`](https://github.com/tkhq/sdk/commit/62937e74e1e27093906e434c62f6f0545f73e934) Author [@moeodeh3](https://github.com/moeodeh3) - - Fixed memory leaks in `handle*` functions
- `handleConnectExternalWallet` now returns `{ type: "connect" | "disconnect"; account?: WalletAccount }`
- [#964](https://github.com/tkhq/sdk/pull/964) [`1e15cc9`](https://github.com/tkhq/sdk/commit/1e15cc9d672905b87566324ec5b10580318fca19) Author [@moeodeh3](https://github.com/moeodeh3) - Fix `onClose` callbacks not triggering in child modal pages
## 1.1.0
### Minor Changes
- [#941](https://github.com/tkhq/sdk/pull/941) [`f2c95ae`](https://github.com/tkhq/sdk/commit/f2c95aed9c5fc56efa6ecda62e5231fc05d0c96e) Author [@ethankonk](https://github.com/ethankonk) - - Added options in the config and handleLogin() to add a logo for light and/or dark mode
- [#951](https://github.com/tkhq/sdk/pull/951) [`3ad8718`](https://github.com/tkhq/sdk/commit/3ad87184fab0e66c36276210b8c1c2c598888014) Author [@ethankonk](https://github.com/ethankonk) - - Added sheets to the modal system which popup from below within the modal. Future proofing for more OAuth methods and such
- [#944](https://github.com/tkhq/sdk/pull/944) [`e7edb0f`](https://github.com/tkhq/sdk/commit/e7edb0f7fe03ff453ddb8ff05c3283b608ad2b86) Author [@ethankonk](https://github.com/ethankonk) - Added optional name overide param for handleImportWallet & handleImportPrivateKey. If provided, the input field for wallet name will no longer be shown and the passed in name param will be used instead.
- [#931](https://github.com/tkhq/sdk/pull/931) [`f8a8d20`](https://github.com/tkhq/sdk/commit/f8a8d204ccf1831a742ecd47b2c42dc3a672dd7e) Author [@ethankonk](https://github.com/ethankonk) - - Added config option to disable managed state auto refreshing.
- The session state is automatically cleared if a request to Turnkey returns an unauthorized error indicating that the session keypair is no longer valid.
- [#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
- [#952](https://github.com/tkhq/sdk/pull/952) [`6e3114b`](https://github.com/tkhq/sdk/commit/6e3114bd16246b0e1dcb540f30ff3a430164c2fd) Author [@amircheikh](https://github.com/amircheikh) - - Fixed broken padding on Safari using iOS 26 and MacOS 26
- [#955](https://github.com/tkhq/sdk/pull/955) [`c534b5b`](https://github.com/tkhq/sdk/commit/c534b5ba7834bf8f16a5e903b468b262972f9320) Author [@ethankonk](https://github.com/ethankonk) - Methods no longer rely on the session state variable, meaning functions that modify session can be placed in-line with methods reliant on session updates
- [#934](https://github.com/tkhq/sdk/pull/934) [`9c1fea5`](https://github.com/tkhq/sdk/commit/9c1fea51ba156c176f81ba5883e7d8c837f95c19) Author [@moeodeh3](https://github.com/moeodeh3) - Re-exported useful modules from `@turnkey/core`:
- `TurnkeyClient`
- `TurnkeyClientMethods`
- `TurnkeySDKClientBase`
- `isEthereumProvider`
- `isSolanaProvider`
- [#954](https://github.com/tkhq/sdk/pull/954) [`474ba20`](https://github.com/tkhq/sdk/commit/474ba20e90c4d7c056d108c44fc2442a0e1cd992) Author [@moeodeh3](https://github.com/moeodeh3) - Added a Copy Link button to the WalletConnect screen in the auth component
- [#958](https://github.com/tkhq/sdk/pull/958) [`5a96fe8`](https://github.com/tkhq/sdk/commit/5a96fe80db4c4c45e09ad8c613695ee4c2b8e51f) Author [@amircheikh](https://github.com/amircheikh) - - otpLength and alphanumeric settings now properly apply from dashboard
- [#946](https://github.com/tkhq/sdk/pull/946) [`0080c4d`](https://github.com/tkhq/sdk/commit/0080c4d011a7f8d04b41d89b31863b75d1a816ef) Author [@moeodeh3](https://github.com/moeodeh3) - - Fixed double sign prompt for WalletConnect in React Dev Mode
- Fixed expired WalletConnect URIs
- Fixed errors on unapproved WalletConnect sessions
- [#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 full `WalletAccount` object instead of `void`
- `fetchWallets()` now supports an optional `connectedOnly` parameter to fetch only connected wallets
- Updated dependencies [[`0080c4d`](https://github.com/tkhq/sdk/commit/0080c4d011a7f8d04b41d89b31863b75d1a816ef), [`5a96fe8`](https://github.com/tkhq/sdk/commit/5a96fe80db4c4c45e09ad8c613695ee4c2b8e51f), [`c2a0bd7`](https://github.com/tkhq/sdk/commit/c2a0bd7ea8a53524cde16897f375f8a7088ba963), [`90841f9`](https://github.com/tkhq/sdk/commit/90841f95f3f738c47c04797096902d9d0a23afc7), [`e4bc82f`](https://github.com/tkhq/sdk/commit/e4bc82fc51c692d742923ccfff72c2c862ee71a4)]:
- @turnkey/core@1.1.0
- @turnkey/sdk-types@0.4.1
## 1.0.0
### Major Changes
- Initial Stable Release: `@turnkey/react-wallet-kit` 🎉
Turnkey’s **Embedded Wallet Kit** is the easiest way to integrate Turnkey’s Embedded Wallets into your React applications, with no backend required.
- Built on [`@turnkey/core`](https://www.npmjs.com/package/@turnkey/core)
- Provides a set of UI components and simple functions, all exported through a React hook
- Designed to help you quickly build secure embedded wallet experiences
📚 [Read the full docs here](https://docs.turnkey.com/sdks/react)
### 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)]:
- @turnkey/sdk-types@0.4.0
- @turnkey/core@1.0.0
- @turnkey/iframe-stamper@2.6.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/core@1.0.0-beta.6
## 1.0.0-beta.5
### Minor Changes
- SDK beta release @turnkey/react-wallet-kit @turnkey/core
### Patch Changes
- Updated dependencies []:
- @turnkey/iframe-stamper@2.6.0-beta.0
- @turnkey/sdk-types@0.4.0-beta.5
- @turnkey/core@1.0.0-beta.5
## 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/core@1.0.0-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/core@1.0.0-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/core@1.0.0-beta.2
## 1.0.0-beta.1
### Minor Changes
- test build
### Patch Changes
- Updated dependencies []:
- @turnkey/sdk-types@0.4.0-beta.1
- @turnkey/core@1.0.0-beta.1
## 1.0.0-beta.0
### Major Changes
- beta for @turnkey/react-wallet-kit and @turnkey/core
### Patch Changes
- Updated dependencies []:
- @turnkey/core@1.0.0-beta.0
- @turnkey/sdk-types@0.4.0-beta.0
## 1.0.0
### Major Changes
- Initial beta release for react wallet kit
### Patch Changes
- Updated dependencies []:
- @turnkey/core@1.0.0
- @turnkey/sdk-types@0.4.0
## 1.0.0
### Major Changes
- Initial beta release for @turnkey/react-wallet-kit and @turnkey/core
### Patch Changes
- Updated dependencies []:
- @turnkey/core@1.0.0
- @turnkey/sdk-types@0.4.0