SHIDO App
Not your keys, not your crypto. It is a phrase you hear a lot. That is why many users go for a non custodial wallet, exactly the kind of wallet we built for Shido.

With a non-custodial wallet you really own your money. Crypto that you manage behind a private key that only you know. That way no one else can ever become the owner of the money you have earned in crypto.
The challenge
A wallet like this makes the work harder in a few places at once. The user really owns it, so a mistake is final right away. And the App Store looks extra closely at anything to do with crypto. Because an app like this has so many catches, it is important to keep your user experience as simple as possible.
What we did
The app runs on React Native 0.73 with TypeScript, and ethers v5 handles the wallet flows on-chain. The backend runs on NestJS 10 with Postgres and uses viem for the on-chain reads. The pool UI stands on its own, a separate Vite app in the same TypeScript stack. Because everything sits in the same language, maintenance and releases stay clean.
Stack & approach
Everything in the same TypeScript family:
- React Native 0.73 with TypeScript for the iOS app
- ethers v5 for on-chain calls from the client
- NestJS 10 backend with Postgres
- viem for on-chain reads on the backend side
- Separate Vite application for the pool UI
- Distribution via the Apple App Store