TankWallet is a self-custody TNK/TRK wallet designed for practical daily operations on Trac workflows.
It combines secure vault-based key handling, fast send/receive actions, QR-native interactions, and built-in token swap in one interface.
The product is built for two usage modes:
- Chrome extension for lightweight, always-ready access.
- Desktop app for full operational sessions with stronger local control.
Its core value is simple: one wallet surface for identity, transfer, and conversion, without relying on centralized custody.
TankWallet is a TNK/TRK wallet project with:
- create/import wallet
- passphrase lock and auto-lock
- send and receive flow
- address QR + copy address
- QR scanner for recipient input
- token swap (TNK <-> TRK quote and execute)
- Chrome extension mode
- desktop app mode
- Fork base (required):
https://github.com/TracSystems/intercom-swap - Wallet technology base (required):
https://github.com/Trac-Systems/trac-wallet
The local swap flow in this project follows a lightweight intercom-swap style lifecycle:
quote -> execute -> activity.
- Mnemonic is encrypted at rest with
AES-256-GCM+PBKDF2. - Plain mnemonic is never returned by API.
- Wallet can be manually locked and auto-locks after inactivity.
- During phrase input, the app enables secure-input mode and blocks copy/cut on mnemonic fields.
- Desktop mode requests content protection while sensitive inputs are active.
projects/tank-wallet
assets/
logo-tank.svg
desktop/
main.cjs
preload.cjs
extension/
manifest.json
popup.html
background.js
server/
index.js
tankService.js
cryptoVault.js
storage.js
constants.js
ui/
index.html
app.css
app.js
scripts/
serve-ui.mjs
run-electron.cjs
check.mjs
From projects/tank-wallet:
npm installRun local wallet bridge:
npm run bridgeOptional environment values:
TANKWALLET_PORT(default49333)TANKWALLET_AUTO_LOCK_MS(default300000)TANKWALLET_DATA_DIR(default${HOME}/.tankwallet)
Open the UI in browser:
npm run uiThen open: http://127.0.0.1:4173/ui/index.html
npm run desktopDesktop app behavior:
- launches local bridge automatically on port
49333 - loads same wallet UI
- enables secure input bridge hooks from preload
- Open
chrome://extensions - Enable Developer mode
- Click "Load unpacked"
- Select folder:
projects/tank-wallet - Open TankWallet extension popup
The extension expects local bridge at http://127.0.0.1:49333.
GET /api/v1/healthGET /api/v1/statePOST /api/v1/wallet/createPOST /api/v1/wallet/importPOST /api/v1/wallet/unlockPOST /api/v1/wallet/lockGET /api/v1/wallet/addressGET /api/v1/wallet/address/qrPOST /api/v1/sendPOST /api/v1/swap/quotePOST /api/v1/swap/executeGET /api/v1/activity
- This is a project scaffold and local wallet simulation flow for TNK/TRK product design and integration planning.
- Before production deployment, add audited transaction signing and chain settlement integration.


