JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 18
  • Score
    100M100P100Q54170F
  • License MIT

Wallet address validator for Bitcoin and other Altcoins.

Package Exports

  • bo-crypto-address-validator
  • bo-crypto-address-validator/src/wallet_address_validator.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (bo-crypto-address-validator) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

bo-crypto-address-validator

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

Forked from ognus/wallet-address-validator.

File size is ~40K (minifed and gzipped).

Whats new

= Support for eosio / EOS

  • Support cashAddr for Bitcoin Cash / BCH
  • Support for Stellar Lumens / XLM
  • Support ofr OMG, ZRX and BAT
  • Support ofr Algorand/ALG
  • Support for Tether/USDT (ETH address only for now)
  • Support for Tezos/XTZ
  • Support for CHAINLINK
  • Support for DAI, KNC and REP
  • Support for ENJ, LRC, MATIC, MANA

Installation

NPM

npm install bo-crypto-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'

  • Tether/USDT, 'Tether' or 'USDT' (ETH address only for now)

  • OmiseGO/OMG, 'OmiseGO' or 'OMG'

  • 0x/ZRX, '0x' or 'ZRX'

  • BAT/BAT, 'BAT'

  • Algorand/ALG, 'Algorand' or 'ALG'

  • 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'

  • Eosio/EOS, 'eosio' or 'EOS'

  • StellarLumens/XLM, , 'stellarlumens' or 'XLM'

  • 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'

  • CHAINLINK/LINK, 'chainlink' or 'LINK'

  • Dai/DAI, 'dai' or 'DAI'

  • Dai/DAI, 'makter' or 'MKR'

  • Kyber/KNC, 'kyber' or 'KNC'

  • Augur/REP, 'augur' or 'REP'

  • Uniswap/UNI, 'uniswap' or 'UNI'

  • Compound/COMP, 'compound' or 'COMP'

  • Synthetix/SNX, 'synthetix' or 'SNX'

  • yearn.finance/YFI, 'yearn.finance' or 'YFI'

  • Balancer/BAL, 'balancer' or 'BAL'

  • LOOPRING/LRC, 'LOOPRING' or 'LRC'

  • POLYGON/MATIC, 'POLYGON' or 'MATIC'

  • DECENTRALAND/MANA, 'DECENTRALAND' or 'MANA'

  • ENJIN/ENJ, 'ENJIN' or 'ENJ'

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'.