React Native
This documentation contains guides for using Turnkey's React Native compatible JavaScript packages.
Using these packages combined will help you create a fully-featured React Native app, powered by Turnkey.
React Native Compatible Packages
Package Name | Description | Link |
---|---|---|
@turnkey/http | A lower-level, fully typed HTTP client for interacting with the Turnkey API. | @turnkey/http |
@turnkey/crypto | This package consolidates common cryptographic utilities used across our applications, particularly primitives related to keys, encryption, and decryption in a pure JavaScript implementation. | @turnkey/crypto |
@turnkey/api-key-stamper | A JavaScript package for API stamping functionalities. It is meant to be used with Turnkey's HTTP package. | @turnkey/api-key-stamper |
@turnkey/encoding | This package contains decoding and encoding functions used by other Turnkey packages. | @turnkey/encoding |
@turnkey/react-native-passkey-stamper | A React Native package for stamping payloads with passkeys. It is meant to be used with Turnkey's HTTP package. | @turnkey/react-native-passkey-stamper |
@turnkey/sdk-react-native | This package simplifies the integration of the Turnkey API into React Native applications. It provides secure session management, authentication, and cryptographic operations. | @turnkey/react-native-sessions |
@turnkey/ethers | A package for integrating Turnkey signers with the Ethers.js library. | @turnkey/ethers |
@turnkey/solana | A package for integrating Turnkey signers with the Solana blockchain. | @turnkey/solana |
@turnkey/cosmjs | A package for integrating Turnkey Signers with the CosmJS library. | @turnkey/cosmjs |
@turnkey/viem | Contains helpers to use Viem with Turnkey. | @turnkey/viem |
You can see all of Turnkey's JavaScript packages on npmjs.
Getting Started
The easiest way to build a React Native app with Turnkey is to use our React Native demo wallet as a starter. This app is a fully-featured example that demonstrates how to use the Turnkey's JavaScript packages to authenticate users, create wallets, export wallets, sign messages, and more.
The app includes a backend JavaScript server which uses @turnkey/sdk-server to make requests to Turnkey that must be signed by the parent organization. An example of a request that must be signed by the parent organization is creating a sub-organization. (code reference)
Some requests made to Turnkey must be signed by the sub-organization. These are ran by the app directly. You can find these requests in the app's TurnkeyProvider. An example of a request that must be signed by the sub-organization is creating a wallet. (code reference)