Skip to content

Repository files navigation

SoroWill

SoroWill Mobile

Mobile app for the SoroWill on-chain inheritance protocol — check in to prove you're alive, manage your will, and protect your crypto legacy from your phone.

React Native Expo TypeScript License Stellar Drips Wave

Live app: sorowill.vercel.app

What is SoroWill Mobile

SoroWill is a trustless on-chain inheritance ("dead man's switch") protocol on Stellar Soroban: lock USDC, name beneficiaries with percentage splits, and set a check-in period. If you stop checking in, the contract releases your funds to your beneficiaries after a grace period.

This repo is the mobile client — a React Native / Expo app focused on the one action that matters most: the check-in.

Why mobile matters

A missed check-in isn't a cosmetic bug — it can trigger the release of your entire will. The web dashboard (sorowill-app) assumes you're at a desk with a browser extension installed; a phone in your pocket does not. This app exists so a check-in reminder reaches you wherever you are, and confirming it takes one tap and a Face ID / fingerprint prompt — not a laptop and a browser extension.

Features

  • One-tap check-in with biometric confirmation (Face ID / fingerprint via expo-local-authentication)
  • Push notification reminders at 7 days, 3 days, 1 day, 6 hours, and 1 hour before your deadline
  • Full will management — create, top up, update beneficiaries, cancel
  • Beneficiary overview with calculated USDC shares and allocation validation
  • Emergency check-in flow during an active grace period
  • WalletConnect v2 and Freighter mobile deeplink wallet connection — no browser extension required

Tech Stack

Layer Choice
Framework React Native + Expo SDK 51
Language TypeScript (strict, zero any)
Contract reads @sorowill/sdk
Contract writes @stellar/stellar-sdk (spec-driven encoding), signed via wallet transport
Wallet WalletConnect v2, Freighter mobile deeplink
Navigation React Navigation (native-stack + bottom-tabs)
Styling NativeWind (Tailwind for React Native)
Notifications expo-notifications
Secure storage expo-secure-store
Biometrics expo-local-authentication

Why not just call @sorowill/sdk's write methods directly? They hard-import @stellar/freighter-api, which talks to a browser extension via window — there is no window on React Native. Reads (getWill, getWillsByOwner, ...) have no such dependency and go straight through the SDK; writes are built with @stellar/stellar-sdk against the same contract entrypoints and signed through whichever wallet transport is connected. See src/lib/contract.ts for details.

Local Setup

Prerequisites: Node.js 20+, Expo CLI (npm install -g expo-cli, or just use npx expo), and Xcode/Android Studio for a simulator or emulator.

git clone https://github.com/SoroWill/sorowill-mobile.git
cd sorowill-mobile
npm install
cp .env.example .env
# fill in EXPO_PUBLIC_CONTRACT_ID once a testnet contract is deployed
npx expo start
  • iOS: press i to launch the iOS Simulator
  • Android: press a to launch an Android emulator

Environment Variables

Variable Description Default
EXPO_PUBLIC_STELLAR_NETWORK testnet or mainnet testnet
EXPO_PUBLIC_CONTRACT_ID Deployed SoroWill contract address (empty)
EXPO_PUBLIC_RPC_URL Soroban RPC endpoint https://soroban-testnet.stellar.org
EXPO_PUBLIC_WALLETCONNECT_PROJECT_ID WalletConnect Cloud project ID (empty)

Screenshots

Contributors: add screenshots of your changes here as the app takes shape — see CONTRIBUTING.md.

Contributing via Drips Wave

This is the only mobile app in the entire Stellar Wave Program — it's unique, and it's your opportunity to contribute to Stellar if Rust or web TypeScript aren't your thing. Mobile developers: this repo is for you.

👉 https://drips.network/wave

See CONTRIBUTING.md for the full contributor workflow.

About

Mobile app (React Native/Expo) for the SoroWill on-chain inheritance protocol

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages