VeWorld, VeChain wallet

Crypto wallet · Chrome extension

VeWorld, VeChain wallet

VeWorld is the VeChain wallet for your browser, a Chrome extension to manage crypto assets and use dApps. In an international team I set up the app structure and built the frontend in React and TypeScript: wallet creation and import, assets, transaction confirmation.

Tools used

  • React
  • TypeScript
  • Redux
  • Chrome extension
  • VeChain
  • Blockchain

VeWorld is a project I worked on within an international team, with developers from all over the world. I worked mainly on the frontend, and the project took me onto new ground, Chrome extensions, and into a field I've long been passionate about: cryptocurrencies, wallets and blockchain.

The product

VeWorld is the wallet of the VeChainThor ecosystem: it manages VET, VTHO, B3TR and NFTs, can have fees paid by a sponsor through delegation, and lowers the entry barrier with social login. It is the gateway to the network's applications, with features that may evolve over time compared with the version I worked on.

Architecture and technologies

I set up the initial structure of the application and built the frontend in React and TypeScript, with Redux for state management. The layouts designed in Figma became reusable React components, shared with the rest of the team. An extension, however, isn't a regular web app: popup, extension pages and scripts injected into websites live in separate contexts and talk through messages, with little space and a lifecycle of their own. Designing the interface within these constraints was the most stimulating part of the work.

My work

Wallets, transactions and dApps

I worked on the screens at the core of the product: wallet creation and import, balances and assets, transaction confirmation on the VeChainThor network, which supports EVM smart contract execution but uses specific transaction mechanisms, and the connection and signing requests coming from decentralised applications. In a wallet every screen deals with people's money, so copy, states and errors must be unambiguous: an unclear step is not just a usability problem, but a risk.

An international team

Working with people across time zones takes method: code reviews, shared components, written communication in English. It's a structured way of working, on a public product used by many people, and it taught me a lot.

The outcome

I gave the project a solid frontend foundation for the team to build on, and made the most delicate steps clear, the ones where users confirm an operation and a mistake is costly. Multi-step flows were brought inside an extension popup without losing consistency with the rest of the product.

// Contact

A project, a problem or just a question?

Agency, business or professional: choose how you'd rather talk to me. I reply as soon as I can, no strings attached.