A PulseChain-only Chrome extension wallet with VDO staking, send/receive, NFTs, and MetaMask-compatible dApp support.
Repository: github.com/VoodooGroup/Voodoo-Wallet-Extension
PulseChain-only browser wallet with VDO staking, send/receive, NFTs, and MetaMask-compatible dApp support.
Voodoo Wallet is a non-custodial browser wallet for PulseChain (chain 369). Create or import a wallet, hold PLS and tokens, stake VDO, and connect to PulseChain dApps via window.ethereum.
This repository includes a pre-built dist/ folder, so end users do not need Node.js or npm to install the extension. Developers can edit src/ and rebuild when needed.
Pairs well with Voodoo Token Badge if you want to show VDO accepted here on your WordPress site.
| Version | 1.0.6 |
| Chain | PulseChain (369) |
| Build required? | No ÔÇö pre-built dist/ included |
| Official site: voodootoken.com |
- Create or import wallet ÔÇö 12/24-word phrase or private key
- Send and receive PLS and ERC-20 tokens
- Portfolio view ÔÇö balances, custom tokens, NFT collections
- Activity history ÔÇö on-chain transaction feed
- VDO staking ÔÇö approve, stake, and unstake (contract
0x3359EcA752F8fCa2A1E47EF01160CFCd782BD6E7) - dApp support ÔÇö
eth_requestAccounts, signing, and transaction approval UI - Password-protected vault ÔÇö PBKDF2 + AES-GCM, auto-lock after idle
- Fiat display ÔÇö optional portfolio value in selected currency
- Light / dark theme
- Open this GitHub repository
- Click the green Code button
- Click Download ZIP
- Save the file to your computer | Requirement | Version | |-------------|---------| | Google Chrome (or Chromium) | Latest recommended | | PulseChain RPC | Public endpoints (built-in) |
No account, API key, or backend server required. Keys stay on the device.
- Right-click the downloaded
.zipfile - Choose Extract All / Uitpakken
- Open the extracted folder in File Explorer
| Item | Value |
|---|---|
| VDO token | 0x1c5f8e8E84AcC71650F7a627cfA5B24B80f44f00 |
| Staking contract | 0x3359EcA752F8fCa2A1E47EF01160CFCd782BD6E7 |
| Chain ID | 369 (0x171) |
ƒôü voodoo-pulse-extension-main ÔåÉ ÔØî WRONG (no manifest here)
ÔööÔöÇÔöÇ ƒôü voodoo-pulse-extension-main ÔåÉ open this
Ôö£ÔöÇÔöÇ ƒôü dist ÔåÉ Ô£à SELECT THIS in Chrome
Ôö£ÔöÇÔöÇ ƒôü src
Ôö£ÔöÇÔöÇ manifest.json
ÔööÔöÇÔöÇ ...
Important: Do not select the outer folder. Select the
distfolder inside the inner project folder.
Quick check: the folder you load in Chrome must contain a file named manifest.json.
This repo ships with a built dist/ folder. No compile step is required.
-
Open this repository on GitHub
-
Click the green Code button  Download ZIP
-
Unzip the file on your computer
-
Open the inner project folder (GitHub often creates a double folder, e.g.
voodoo-pulse-extension-main/voodoo-pulse-extension-main/) -
In Chrome go to
chrome://extensions -
Turn Developer mode ON
-
Click Load unpacked
-
Select the
distfolder inside the project -
Open Chrome and go to:
chrome://extensions -
Turn Developer mode ON (top-right toggle)
-
Click Load unpacked / Uitgepakte extensie laden
-
Navigate to the
distfolder from Step 3 -
Click Select Folder / Map selecteren
Do not select the outer download folder (
voodoo-pulse-extension-mainonly). That folder has nomanifest.jsonand Chrome will show: Manifest missing / ontbreekt.
Voodoo Wallet should appear in your extensions. Pin it from the puzzle icon in the toolbar.
Quick check: the folder you select must contain manifest.json at its top level.
- Click the Voodoo Wallet icon
- Create a new wallet or import an existing phrase / private key
- Set a password and save your recovery phrase offline For a flat zip without nested source folders:
- Open Releases
- Download
voodoo-wallet-chrome.zipfrom the latest release (when published) - Unzip ÔÇö
manifest.jsonshould be at the top level of the extracted folder chrome://extensions Developer mode  Load unpacked  select the unzipped folder
- GitHub  Code  Download ZIP
- Zip uitpakken
- Open de binnenste map (twee keer dezelfde mapnaam  kies de onderste)
- Open de binnenste map (niet alleen de buitenste
voodoo-pulse-extension-main) - Chrome 
chrome://extensions Ontwikkelaarsmodus aan - Uitgepakte extensie laden  selecteer de map
dist
| Map | Werkt? |
|---|---|
voodoo-pulse-extension-main (buitenste map) |
ÔØî Manifest ontbreekt |
voodoo-pulse-extension-main (buitenste) |
ÔØî Manifest ontbreekt |
...\voodoo-pulse-extension-main\dist |
 Correct |
Chrome kan een waarschuwing tonen: "Deze extensie is niet van de Chrome Web Store". Dat is normaal bij handmatige installatie. Chrome kan waarschuwen dat de extensie niet uit de Chrome Web Store komt. Dat is normaal bij handmatige installatie.
git clone https://github.com/VoodooGroup/Voodoo-Wallet-Extension.git
cd voodoo-pulse-extension
npm install
npm run buildThen in Chrome: Load unpacked  select the dist folder.
After code changes, run npm run build again and click Reload on the extension card.
- Click the Voodoo Wallet toolbar icon
- Create a new wallet or import a phrase / private key
- Set a password and save your recovery phrase offline
- Unlock to view balances and use Send / Stake / dApps
| Error | Cause | Fix |
|---|---|---|
| Manifest missing / ontbreekt | Wrong folder selected | Select the dist subfolder, not the outer download folder |
MIME type main.jsx |
Source folder loaded without build | Use the dist folder from this repo |
| Extension does not appear | Developer mode off | Enable Developer mode on chrome://extensions |
Download & unzip  Load dist/ in chrome://extensions
Ôåô
Create or import wallet  Set password
Ôåô
Unlock  View portfolio on PulseChain
Ôåô
Send tokens / Stake VDO / Connect to dApps
Ôåô
Extension auto-locks after idle timeout
More help: see LOAD-IN-CHROME.txt in this repository.
- PulseChain only ÔÇö chain switch to other networks is rejected
eth_signdisabled ÔÇö sites must usepersonal_sign- dApp requests require explicit approval in the popup
- Auto-lock after 10 minutes idle (configurable)
- Read-only RPC methods are whitelisted without prompts
The extension may contact:
| Service | Purpose |
|---|---|
| rpc.pulsechain.com | Balances, transactions, staking |
| api.scan.pulsechain.com | Activity history |
| api.coingecko.com | Fiat prices |
| api.dexscreener.com | Token prices |
| open.er-api.com | Exchange rates |
No personal data is sent to Voodoo Token servers. Keys never leave the device.
Where do I load the extension in Chrome?
chrome://extensions  Developer mode  Load unpacked  select the dist folder.
Why does Chrome say ÔÇ£Manifest missingÔÇØ?
You selected the wrong folder. Open the inner project folder and choose dist, not the outer voodoo-pulse-extension-main wrapper.
Do I need to run npm install?
No ÔÇö not for normal install. Only developers changing source code need Node.js and npm run build.
Can I install with one click from this website?
No. Chrome blocks direct website installs. Use the Chrome Web Store listing (when available) or manual Load unpacked.
Does this work in Firefox or Edge?
Built and tested for Chrome / Chromium (Manifest V3). Other browsers are not officially supported.
Is eth_sign supported?
No ÔÇö disabled for security. dApps should use personal_sign or typed data signing.
- Create or import wallet (12/24-word phrase or private key)
- Send and receive PLS and tokens
- Portfolio, NFTs, and transaction history
- Stake VDO (contract
0x3359EcA752F8fCa2A1E47EF01160CFCd782BD6E7) - Connect to PulseChain dApps via
window.ethereum - Password-protected vault with auto-lock
- PulseChain only ÔÇö no Ethereum mainnet or other EVM chains
- Manual install from GitHub shows a Chrome ÔÇ£not from Web StoreÔÇØ warning
- GitHub Code ZIP has a nested folder structure ÔÇö users must select
dist - Professional audit recommended before holding large amounts
voodoo-pulse-extension/
Ôö£ÔöÇÔöÇ src/
Ôöé Ôö£ÔöÇÔöÇ popup/ # React wallet UI
Ôöé Ôö£ÔöÇÔöÇ background/ # Service worker & dApp policy
Ôöé Ôö£ÔöÇÔöÇ content/ # Page bridge
Ôöé Ôö£ÔöÇÔöÇ inpage/ # window.ethereum provider
Ôöé Ôö£ÔöÇÔöÇ lib/ # Wallet, vault, chain, staking
Ôöé ÔööÔöÇÔöÇ config/ # PulseChain, RPC, staking addresses
Ôö£ÔöÇÔöÇ dist/ # Pre-built extension (load this in Chrome)
Ôö£ÔöÇÔöÇ public/ # Icons and static assets
Ôö£ÔöÇÔöÇ docs/ # Store listing, privacy policy, install guide
Ôö£ÔöÇÔöÇ tests/ # Unit tests (vault, validation, dapp methods)
Ôö£ÔöÇÔöÇ manifest.json # Root manifest (after build; points to dist/)
Ôö£ÔöÇÔöÇ extension.manifest.json
Ôö£ÔöÇÔöÇ package.json
ÔööÔöÇÔöÇ README.md # This file (GitHub)
npm install
npm run dev # development with hot reload
npm run build # production build  dist/
npm test # run unit tests
npm run devAfter changing source code:
Load the dist folder in Chrome after the dev build runs. Click Reload on the extension card after changes.
npm run buildThen reload the extension on chrome://extensions.
Outputs to dist/ and updates the root manifest.json.
Load in Chrome during development:
dist/folder (recommended), or- project root after
npm run build
npm test- Vault: PBKDF2 (310k iterations) + AES-GCM
- Vault: PBKDF2 (310k iterations) + AES-GCM via Web Crypto
- Send: address validation + confirmation screen
- dApps: full tx/message details before approve;
eth_signdisabled - Auto-lock after 10 minutes idle
- RPC fallback endpoints
- dApps: full tx/message details before approve; read-only RPC whitelist
- Private key export: confirm dialog, hidden by default, auto-clear 60s
Recommended: use a dedicated wallet, keep offline backups, and get a professional security audit before holding large amounts.
For end-user zips, attach a flat voodoo-wallet-chrome.zip containing only the contents of dist/ (so manifest.json is at the zip root). See docs/STORE_LISTING.md for Chrome Web Store submission copy.
- Pre-built
dist/included in repository for GitHub download install - Install documentation and troubleshooting (nested folder / manifest errors)
- Security hardening: vault KDF, dApp policy, auto-lock, RPC fallback
See git tags and Releases for older versions.
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-change - Run
npm testandnpm run build - Commit your changes and open a pull request
Please keep changes focused and test in Chrome with Load unpacked before submitting.
- In extension: Settings  View privacy policy
- Public URL: https://voodootoken.com/privacy-policy-web-extension.html
- Public URL: voodootoken.com/privacy-policy-web-extension.html
- Contact: info@voodootoken.com
Prefer one-click install? Use the official Chrome Web Store listing when available.
- Website: voodootoken.com
- Issues: GitHub Issues
For store submission assets and copy, see docs/STORE_LISTING.md.
Built for the Voodoo Token community on PulseChain.