NFC Crypto Kit docs
v1.0.0
Live demo Get help
● Start · How it fits

Architecture
four apps, one card format, no server.

What runs where, what is stored where, and what talks to what. Read this before you change the card format or add a backend.

No backendKeys stay on the phone

01The kit in one picture

Card StudioPython desktop toolinventory in a local SQLite fileACR122U reader or simulated NFC card (NTAG215 / 216)1 link 2 Android record3 encrypted backup 4 public addresses writes, checks NFC Cryptowallet: keys in the phone keystorecard opens the app, confirmspayments, holds the backuproles and limits stored on the phone CryptoCard Walletphrase lives only on the card,locked with the card PINphone keeps the address only NFC Recoveryoffline: reads a backup,asks the PIN, shows the wordsno network permission tap (NFC, read or write) Public RPC endpoints (EVM, Solana, Bitcoin), optional price and swap APIs Your card-link domainapple-app-site-associationassetlinks.jsonstatic files, no server code link
Solid arrows: NFC taps and card writes. Dashed arrows: HTTPS.

02What is stored where

DataWhere it livesWho can read it
Wallet keys (NFC Crypto)The phone, in the platform keystoreOnly the app, after Face ID, the passcode or the card check
Card id and linkThe card, plain textAnyone who holds the card
Recovery backupThe card, encrypted with the card PIN (Argon2id, AES-256-GCM)Anyone with the card and the PIN
Public receive addressesThe card, plain text, optionalAnyone who holds the card
Card roles, limits, approval historyThe phone (app preferences)The app on that phone
Card inventory and customersThe Card Studio computer (SQLite file)Whoever uses that computer

There is no MIKODES server and no server of yours in this picture. The only thing you host is the card-link domain with two static files (Card host).

03The three flows

  1. Open. A tap makes the phone read the link on the card and open your app. The app checks that the card id is one it paired.
  2. Confirm. When "Require the card for payments" is on, the app asks for a tap before it signs. The card proves presence only; the key that signs stays on the phone (Card roles and limits).
  3. Recover. A card with a backup plus its PIN gives the recovery phrase back, in NFC Crypto or in NFC Recovery (Card format).

In CryptoCard Wallet the second flow differs: the phrase is on the card, so every signature needs the card and its PIN.