Advancing our WaaS: New Demo

Advancing our WaaS: New Demo

This demo shows the current state of our Wallet-as-a-Service (WaaS) platform, from initial setup to account recovery. Everything runs through our TypeScript SDK against a local devnet, and the wallets are smart contracts whose keys are WebAuthn passkeys.

0:00
/1:52

Setup: org, app, and publishable key

The demo starts on the developer dashboard. The developer signs up, which also creates their first organization, then creates an app and generates a publishable key for it. That key is what the SDK uses to connect to the API.

Creating a user wallet

On the Account tab, an end user signs in with email and password. Creating their wallet registers a passkey on the device with Touch ID, then deploys the wallet on-chain. Each wallet has two keys from the start: the user's passkey (the primary key) and a server-held guardian key.

Executing a transaction

The wallet executes a transaction as a 2-of-2 signed call: the user's primary passkey and the server guardian both sign. The demo submits it and the response comes back with a transaction hash, a block number, and a success status.

Adding a new passkey, approved by an existing one

Adding a device registers a fresh passkey locally and posts a pending approval request. Approval has to come from a device that already holds an on-chain key. In the demo, the existing primary passkey signs the approval, the new key ("Device 2") is added to the on-chain key set, and the wallet then reports two active keys. A new device cannot add itself; an existing key must authorize it.

Account recovery with a timelock

Recovery handles a lost primary passkey. The user registers a fresh passkey, and the server, acting as guardian, adds it to the wallet under a timelock. The key is registered right away but cannot sign until the timelock passes; once it does, the device can act as the new primary. The delay is the safeguard: it gives the real owner time to react if a recovery they did not start is ever attempted.


Summary

The demo covers org and app setup, user wallet creation, a signed transaction, cross-device key approval, and timelocked recovery, all driven through our TypeScript SDK against on-chain smart-contract wallets secured by passkeys.