Skip to main content
@buckspay/react-native brings the SDK to iOS and Android. The core pipeline (auth-entry build, fee-bump, prepare -> sign -> send) is platform-agnostic. This package adds three things on top:
  • nativePasskey - a WebAuthnLike backed by react-native-passkey that drives the device secure enclave instead of navigator.credentials. The private key never leaves the device.
  • Secure-storage adapters - memorySecureStore, expoSecureStore, keychainSecureStore for persisting session blobs and credential IDs.
  • Hermes polyfills - installed as a side-effect on import, before @stellar/stellar-sdk is used.
BuckspayProvider, useWallet, and useStellarPay are re-exported by reference from @buckspay/react - the same store, same status machine, zero fork. Your screen logic is identical to a web component; only the host primitives (<View> / <Text> / <Pressable>) and the signer differ.

Secure storage

Session blobs and credential IDs are persisted via a SecureStore port. Three adapters are exported from @buckspay/react-native: Each adapter lazily imports its peer, so apps that do not use a given adapter never pull the native module into their bundle.

Full example

Next

Native passkey signer

How nativePasskey delegates to the shared passkey crypto pipeline.

Web - @buckspay/react

The web counterpart - same hooks, browser authenticator transport.