Avatar
Emin, Nuri.com
db98e5d20b41aec15fe1ee318870111a1b8669b3a5ce31fd0ee64f8ff3ec6750
Nuri.com Bitcoin Credit Card. Live on Bitcoin. NFC Hardware Wallets. Multi-Signature.

I have build an AI-Mermaid-Chart-Generator and tried a difficult prompt (Palestine/Israel): https://flow-scribe-magic-words.lovable.app/nutty/river/water

The chart gives a walkthrough of events. I downloaded the SVG, made a PDF out of it, and gave it NotebookLM from Google, this is the result of the AI generated podcast https://notebooklm.google.com/notebook/75835e6c-7cdb-4d0d-bc5d-d98fbd1930bd/audio

https://blossom.primal.net/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

NotebookLM is nice but the app is 100% vibe coded, horribly bad

Tomorrow I will add „pay with lightning“ and nostr wallet connect. Flow chart generator and share and edit and fix

https://flow-scribe-magic-words.lovable.app/

Found those mermaid things very helpful in developing complex code bases.

https://www.mermaidchart.com/app/projects/bb9914a7-5c02-4735-a741-6177a3bf1230/diagrams/c6b287c0-ebcd-4b5f-8e06-bc4286a35a6d/version/v0.1/edit

flowchart TD

%% USER DEVICE

subgraph "User Device"

direction TB

DevPasskey["Built-in Device Passkey
(Face ID / Touch ID)"]:::int

WebAuthn["WebAuthn assertion
(via external key OR device passkey)"]:::logic

KeyShareA["Key Share A
(AES-encrypted at rest,
gated by Secure Enclave)"]:::secret

FROSTSign["FROST MPC signing
(runs in device RAM
after user auth)"]:::compute

EncA["Encrypted backup of
Key Share A
(iCloud/Google — passkey-encrypted, never plain)"]:::backup

PasskeySync["Passkey backup
(iCloud/Google)"]:::backup

DevPasskey --> WebAuthn

DevPasskey --> PasskeySync

WebAuthn -->|unlock| KeyShareA

KeyShareA -- "decrypted → RAM" --> FROSTSign

KeyShareA -. "passkey-encrypted
export only" .-> EncA

FROSTSign -- "Partial Sig A" --> Combine

end

%% EXTERNAL: hardware FIDO2 key for normal use

HWKey["Hardware Security Key
(FIDO2 token, USB/NFC)"]:::ext

HWKey --> WebAuthn

%% GUARDIAN / SOCIAL SHARE C (Shamir split, not passkey-encrypted)

GuardianShareC["Guardian/Social Recovery
Share C (Shamir split, not passkey-encrypted)"]:::secret

EncC["Distributed guardian shares of C
(print, cloud, trusted people)
Collect quorum to reconstruct"]:::backup

GuardianShareC -- "split and distribute (Shamir)" --> EncC

EncC --> RecoveryTool

%% OPTIONAL: hardware Bitcoin wallet full signing

HWBtc["Hardware Bitcoin Wallet
(Ledger/Trezor/BitBox)"]:::opt

HWBtc -.-> Combine

%% SERVER / TEE

subgraph "Server / TEE (Nitro Enclave)"

direction TB

WebAuthnSrv["WebAuthn required
to access"]:::logic

ShareB["Key Share B
(sealed inside TEE)"]:::secret

EnclaveSign["Partial Sig B
(FROST, runs inside TEE)"]:::compute

WebAuthnSrv --> ShareB

ShareB --> EnclaveSign

EnclaveSign -- "Partial Sig B" --> Combine

end

%% THRESHOLD COMBINE & CHAIN

Combine["Combine Partial Sig A + B
(FROST threshold signature)"]:::combine

Blockchain["Broadcast to Bitcoin network"]:::chain

Confirmed["Confirmed transaction"]:::chain

Combine --> Blockchain --> Confirmed

%% SOCIAL RECOVERY (MANDATORY)

EncA --> RecoveryTool

RecoveryTool -. "reconstruct C
(from guardian shares)" .-> Combine

%% NOTE

Note1["Threshold MPC — full key **never** exists in one place.

Mobile share is passkey-gated; server share lives only in TEE.

Guardian/social recovery shares (Share C) are split among trusted people and NOT passkey-encrypted — collect quorum for recovery.

**Server must be present for any spending, recovery, or inheritance (as in Bitkey).**

If either share is compromised, wallet cannot be drained.

Optional hardware wallet can provide additional resilience.

Test your backup and recovery regularly."]:::note

Note1 --- Combine

%% STYLES

classDef ext fill:#dbeafe,stroke:#1e3a8a,stroke-width:2px

classDef int fill:#dbeafe,stroke:#475569,stroke-width:2px

classDef logic fill:#ffffff,stroke:#000000,stroke-width:2px

classDef secret fill:#ffe4e6,stroke:#be123c,stroke-width:2px

classDef compute fill:#fff7ed,stroke:#a16207,stroke-width:2px

classDef backup fill:#fefce8,stroke:#92400e,stroke-width:2px

classDef combine fill:#e2e8f0,stroke:#334155,stroke-width:2px

classDef chain fill:#ecfccb,stroke:#15803d,stroke-width:2px

classDef note fill:#fff3cd,stroke:#b38f00,stroke-width:2px

classDef opt fill:#f5f3ff,stroke:#6366f1,stroke-width:2px,stroke-dasharray:5 5

sequenceDiagram

actor User as User / Wallet UI

participant SECURITYKEY as Biometric Hardware
(FIDO2 authenticator)

participant ENCLAVE as Secure Enclave
Share A

note right of ENCLAVE: Signing happens securely here,
ensuring no RAM leak.

participant HSM as Cloud HSM
Share B

participant BTC as Bitcoin Network

%% ─── Spend flow ───

User->>SECURITYKEY: 1️⃣ WebAuthn “get assertion” (physical touch)

SECURITYKEY-->>User: hmac-secret + signature

User->>ENCLAVE: 2️⃣ Unlock Share A (using hmac-secret)

ENCLAVE-->>User: Partial Signature A

User->>HSM: 3️⃣ Sign request + Security Key assertion proof

HSM-->>User: Partial Signature B

User->>User: 4️⃣ Combine Sig A + Sig B (FROST threshold)

User->>BTC: 5️⃣ Broadcast Taproot tx

BTC-->>User: Tx confirmed

Note over User,BTC: Full private key is **never reconstructed** Security Key touch and Biometrics is always required.

Amazing!! Can you share the code of it please as a base to fork for Replit?

That is amazing, I had a website called Flyerwall for Berlin for Events long time ago- this is better!

Forked Bitkey and got the server running locally

As soon as Bolt, Replit, Lovable, Cursor, Windsurf, Aider, Cline, Roo, Codex and Co. are good enough we are going to re-build every SaaS tool into a Bitcoin Lighting Powered 402 paymentrequired.com !

Building a FIDO2 Biometric Passkey gated MPC Bitcoin Wallet

The MIT license. Is it really allowed to fork and use it commercially?