Awesome Open Source
Awesome Open Source

wallet-address-validator

Simple wallet address validator for validating Bitcoin and other altcoins addresses in Node.js and browser.

Forked from ryanralph/altcoin-address.

File size is ~22 kB (minifed and gzipped).

Installation

NPM

npm install wallet-address-validator

Browser

<script src="wallet-address-validator.min.js"></script>

API

validate (address [, currency = 'bitcoin'[, networkType = 'prod']])
Parameters
  • address - Wallet address to validate.
  • currency - Optional. Currency name or symbol, e.g. 'bitcoin' (default), 'litecoin' or 'LTC'
  • networkType - Optional. Use 'prod' (default) to enforce standard address, 'testnet' to enforce testnet address and 'both' to enforce nothing.

Returns true if the address (string) is a valid wallet address for the crypto currency specified, see below for supported currencies.

Supported crypto currencies

  • Auroracoin/AUR, 'auroracoin' or 'AUR'

  • Bankex/BKX, 'bankex' or 'BKX'

  • BeaverCoin/BVC, 'beavercoin' or 'BVC'

  • Biocoin/BIO, 'biocoin' or 'BIO'

  • Bitcoin/BTC, 'bitcoin' or 'BTC'

  • BitcoinCash/BCH, 'bitcoincash' or 'BCH'

  • BitcoinGold/BTG, 'bitcoingold' or 'BTG'

  • BitcoinPrivate/BTCP, 'bitcoinprivate' or 'BTCP'

  • BitcoinZ/BTCZ, 'bitcoinz' or 'BTCZ'

  • Callisto/CLO, 'callisto' or 'CLO'

  • Dash, 'dash' or 'DASH'

  • Decred/DCR, 'decred' or 'DCR'

  • Digibyte/DGB, 'digibyte' or 'DGB'

  • Dogecoin/DOGE, 'dogecoin' or 'DOGE'

  • Ethereum/ETH, 'ethereum' or 'ETH'

  • EthereumClassic/ETH, 'ethereumclassic' or 'ETC'

  • EthereumZero/ETZ, 'etherzero' or 'ETZ'

  • Freicoin/FRC, 'freicoin' or 'FRC'

  • Garlicoin/GRLC, 'garlicoin' or 'GRLC'

  • Hush/HUSH, 'hush' or 'HUSH'

  • Komodo/KMD, 'komodo' or 'KMD'

  • Litecoin/LTC, 'litecoin' or 'LTC'

  • Megacoin/MEC, 'megacoin' or 'MEC'

  • Monero/XMR, 'monero' or 'XMR'

  • Namecoin/NMC, 'namecoin' or 'NMC'

  • Nano/NANO, 'nano' or 'NANO'

  • NEO/NEO, 'NEO' or 'NEO'

  • NeoGas/GAS, 'neogas' or 'GAS'

  • Peercoin/PPCoin/PPC, 'peercoin' or 'PPC'

  • Primecoin/XPM, 'primecoin' or 'XPM'

  • Protoshares/PTS, 'protoshares' or 'PTS'

  • Qtum/QTUM, 'qtum' or 'QTUM'

  • Raiblocks/XRB, 'raiblocks' or 'XRB'

  • Ripple/XRP, 'ripple' or 'XRP'

  • Snowgem/SNG, 'snowgem' or 'SNG'

  • Vertcoin/VTC, 'vertcoin' or 'VTC'

  • Votecoin/VTC, 'votecoin' or 'VOT'

  • Zcash/ZEC, 'zcash' or 'ZEC'

  • Zclassic/ZCL, 'zclassic' or 'ZCL'

  • ZenCash/ZEN, 'zencash' or 'ZEN'

Usage example

Node

var WAValidator = require('wallet-address-validator');

var valid = WAValidator.validate('1KFzzGtDdnq5hrwxXGjwVnKzRbvf8WVxck', 'BTC');
if(valid)
	console.log('This is a valid address');
else
	console.log('Address INVALID');

// This will log 'This is a valid address' to the console.
var WAValidator = require('wallet-address-validator');

var valid = WAValidator.validate('1KFzzGtDdnq5hrwxXGjwVnKzRbvf8WVxck', 'litecoin', 'testnet');
if(valid)
      console.log('This is a valid address');
else
      console.log('Address INVALID');

// As this is a invalid litecoin address 'Address INVALID' will be logged to console.

Browser

<script src="wallet-address-validator.min.js"></script>
// WAValidator is exposed as a global (window.WAValidator)
var valid = WAValidator.validate('1KFzzGtDdnq5hrwxXGjwVnKzRbvf8WVxck', 'bitcoin');
if(valid)
    alert('This is a valid address');
else
    alert('Address INVALID');

// This should show a pop up with text 'This is a valid address'.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,552,287
Nodejs (54,530
Ethereum (6,901
Cryptocurrency (5,659
Bitcoin (4,455
Wallet (1,146
Validator (970
Dash (693
Monero (372
Litecoin (315
Nano (254
Bitcoin Cash (222
Ripple (216
Related Projects