Skip to content
Last updated

Vilna Widget

The Vilna Widget is a browser extension wallet that integrates directly with the Vilna dashboard. It lets you store private keys locally in your browser and sign transactions with one click - without ever exposing your keys to Vilna servers or any third party.

Not yet available

The Widget is in development and not yet available to customers. What follows describes the planned design. We are running security and reliability testing, and we will release the source on GitHub under an open license once it passes - so you can audit it yourself. The security model below is the target design and will be verified against the released code before any customer use.

What is the Vilna Widget

The Widget will be a browser extension for Chrome, Firefox, and Opera. Once released and installed, it will act as a local wallet that connects to your Vilna dashboard.

  • Local key storage - your private keys are stored in the browser and never leave your device
  • Dashboard integration - addresses you add to the Widget appear automatically on the Vilna dashboard with full balance information
  • One-click signing - initiate transactions from the dashboard, confirm them in the Widget popup
  • Multi-chain - supports Ethereum, BNB Smart Chain, and TRON networks (mainnet and testnet)

Why use the Widget

The Widget keeps your private keys in your browser so you can sign transactions without switching to a separate wallet app. It supports HD wallets (create or import via mnemonic seed phrase) and manages addresses across Ethereum, BSC, and TRON from a single extension. See the Security model section below for details on how keys are protected.

How it works

  1. Install the Vilna Widget from your browser's extension store.
  2. Create or import a wallet. Generate a new HD wallet or import an existing one using your mnemonic seed phrase.
  3. Your addresses appear in the Widget and become available on the Vilna dashboard with full balance details.
  4. Initiate a transaction from the Vilna dashboard when you need to send funds.
  5. Review the details. The Widget popup appears showing the recipient, amount, network, and estimated fees.
  6. Confirm. The Widget signs the transaction locally using your private key.
  7. Broadcast. The Widget sends the signed transaction to the blockchain from your device.
  8. Track status. Monitor the transaction in real-time through Vilna's indexing and monitoring tools.

Your private key is used only at step 6, inside the extension, on your device. It is never transmitted anywhere.

Supported networks

NetworkMainnetTestnet
Ethereumeip155:1eip155:11155111 (Sepolia)
BNB Smart Chaineip155:56eip155:97
TRONtron:728126428tron:2494104990 (Shasta)

Use cases

For traders

Manage multiple wallets across chains. See all balances in one place on the Vilna dashboard. Execute trades and transfers without switching between wallet apps or browser tabs.

For businesses

Treasury managers can review and approve outgoing payments directly from the dashboard. One-click signing from the dashboard removes the manual step of switching to an external wallet, reducing copy-paste errors.

For developers

Test transactions during integration development. Use testnet support to verify that your webhook handlers receive correct notifications and that your application processes transaction events properly.

For developers: technical integration

If you are building a web application that needs to interact with the Widget programmatically, use the @vilna-io/storage-client npm package:

npm install @vilna-io/storage-client
import { connect } from "@vilna-io/storage-client";

const client = await connect();

// Check supported networks
const networks = await client.getSupportedNetworks();

// Send a transaction (triggers Widget popup for user confirmation)
const result = await client.sendTransaction({
  chainId: "eip155:1",
  address: "0xYourAddress...",
  derivationPath: "m/44'/60'/0'/0/0",
  transaction: {
    to: "0xRecipient...",
    value: "1000000000000000000", // 1 ETH in Wei
  },
});

The storage-client library handles communication between your web app and the Widget extension. See the storage-client documentation for the full API reference.

Security model

The Widget is designed to work like wallets such as MetaMask: the keys stay on your device, and nothing is signed without you. These are the target guarantees, which we will verify against the released code before any customer use.

  • Private keys are kept encrypted in the extension's own browser storage, isolated from web pages.
  • A key is decrypted in memory only at the moment you sign, and the cleartext is never written to storage or sent anywhere.
  • Every signature needs your explicit confirmation in the Widget popup. Nothing signs automatically.
  • Keys never leave your device. They do not reach Vilna servers or travel over the network; only the signed transaction goes to the blockchain.
  • A Content Security Policy guards against injection attacks.

Getting started

The Widget is not yet available. These steps will apply once it is released for Chrome, Firefox, and Opera.

  1. Install the Vilna Widget extension for your browser.
  2. Create a new HD wallet or import an existing one with your seed phrase.
  3. Connect to the Vilna dashboard - your addresses and balances will appear automatically.
  4. Start managing your assets and signing transactions.

For questions or support, contact support@vilna.io.

Further reading