SoroPass

Introduction

A minimal passkey SDK plus drop-in create / sign / recover components for Stellar smart accounts, built to drop into stellar-wallets-kit.

A minimal passkey SDK plus drop-in create / sign / recover UI for Stellar smart accounts. Wallet teams ship passkeys (Face ID, Touch ID, a security key) without hand-rolling WebAuthn, on-chain signing, or device/browser compatibility logic. It is a layer, not a wallet: no accounts to manage, no balances of its own.

Proven, not promised

The secp256r1 __check_auth path is verified on mainnet and testnet. On mainnet, a real passkey signature authorized a 0.2 XLM payment from a smart account, and the chain rejected a wrong-key signature. See the payment transaction on Stellar Expert. The AccountFactory is CCCNRWMICVEMMUSBI7DL3IKB566QEOOQOLVDOAM5SLFDZ2KGUSRR3JVF on mainnet and CADKKP4BEFTZYK3NDGSBTPDJESPNRQ6HF36XAT62WQUPI47MNTENY3NH on testnet.

Three ways to adopt

They stack: start at the top and add the others later. Each has a runnable example in the Quickstart.

AdoptPackageUse it when
Headless SDK@soropass/coreYou own the UI (any framework, or none) or run server-side. Four calls: create, sign, recover, add-device.
+ UI components@soropass/uiYou want drop-in create / sign / recover / add-device screens: framework-agnostic, themed by tokens.css, no design system to adopt.
Via Stellar Wallets KitPasskeyModuleYou already use stellar-wallets-kit and want passkeys in its picker next to Freighter / Lobstr, with your getAddress / signTransaction calls unchanged.

What makes it minimal

  • ES256-only: pubKeyCredParams pinned to alg −7; anything else throws ES256_NOT_SUPPORTED. Soroban verifies secp256r1.
  • Always low-S: the SDK normalizes signatures to low-S client-side, so the ~50% of Apple passkeys that emit high-S still verify on-chain.
  • ~2 runtime deps: noble p256 + hashes. @stellar/stellar-sdk is a peer dependency, never bundled.
  • Tree-shakeable subpaths: import only what you use (@soropass/core/create, /sign, /recover).

Where to go next

On this page