@capitual/api-crypto-address-validator

Wallet address validator for Bitcoin and other Altcoins.


Keywords
0x, zrx, Aave, lend, AdEx, adx, aelf, ELF, Aeternity, ae, Algorand, algo, Aragon, ant, Ardor, ardr, Augur, rep, AuroraCoin, aur, Australian Dollars, aud, Bancor, bnt, Bankex, bkx, BasicAttentionToken, bat, BeaverCoin, bvc, BinanceCoin, bnb, BioCoin, bio, Bitcoin, btc, Bitcoin Diamond, bcd, BitcoinCash, bcc, bch, BitcoinGold, btg, BitcoinPrivate, btcp, BitcoinZ, btcz, Bitquence, bqx, Bitshares, bts, BitTorrent, btt, Blockstack, stx, Callisto, clo, Cardano, ada, Chainlink, link, Civic, cvc, Cosmos, atom, dash, Decentraland, MANA, Decred, dcr, dent, DigiByte, dgb, District0x, dnt, DogeCoin, doge, Enigma, eng, Enjin Coin, enj, eos, Ethereum, eth, EthereumClassic, etc, EtherZero, etz, ethos, Expanse, exp, FreiCoin, frc, FunFair, fun, GameCredits, game, GarliCoin, grlc, Gnosis, gno, Golem, gnt, Hedera Hashgraph, hbar, Holo, HOT, Horizen, zen, hush, ICON, icx, iExec RLC, rlc, Internet of Services, IOST, iota, Komodo, kmd, Lisk, lsk, LiteCoin, ltc, Matchpool, gup, MegaCoin, mec, Melon, mln, Metal, mtl, Monacao, mco, MonaCoin, mona, Monero, xmr, NameCoin, nmc, nano, NEM, xem, neo, NeoGas, gas, Nexus, nxs, Numeraire, nmr, Odyssey, ocn, OmiseGO, omg, Ontology, ont, Ontology Gas, ong, Paxos Standard Token, pax, PeerCoin, ppc, pivx, Polymath, poly, Populous, ppt, PowerLedger, powr, PrimeCoin, xpm, ProtoShares, pts, Pundi X, npxs, qtum, RaiBlocks, xrb, Ravencoin, rvn, RipioCreditNetwork, rcn, Ripple, xrp, salt, Siacoin, sc, SnowGem, sng, SolarCoin, slr, Status, snt, steem, Stellar Lumens, xlm, storj, storm, Stratis, strat, Substratum, sub, Swarm City, swt, Syscoin, sys, TenX, pay, Tether, usdt, Tezos, XTZ, theta, Tron, trx, TrueUSD, tusd, USD Coin, usdc, VeChain, vet, Verge, xvg, VertCoin, vtc, Viberate, vib, VoteCoin, vot, WaltonChain, wtc, waves, wings, ZCash, zec, ZClassic, zcl, ZenCash, Zilliqa, zil, segwit, altcoin, javascript, browser, nodejs, wallet, address
License
MIT
Install
npm install @capitual/api-crypto-address-validator@1.13.1

Documentation

@capitual/api-crypto-address-validator

Simple wallet address validator for validating Bitcoin and 130 (and counting) other altcoin addresses in Node.js and browser.

Forked from swyftx/api-crypto-address-validator which was forked from ognus/wallet-address-validator and ryanralph/altcoin-address.

Installation

NPM

npm install @capitual/api-crypto-address-validator

Browser

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

Minified Packed Frontend

import walletAddressValidatorMinJs from "@capitual/api-crypto-address-validator/dist/wallet-address-validator.min.js";

API

validate (address [, currency = 'bitcoin'[, networkType = 'prod' [, addressType = ['all']]])
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.
  • addressType - Optional. Specifies what version of the address should be validated. Defaults to 'legacy', but can be changed on a per asset basis.
validateByNetwork (address [, network = 'bitcoin'[, networkType = 'prod' [, addressType = ['all']]])
Parameters
  • address, networkType, addressType - The same mentioned above.
  • network - Optional. Currently accepted network, e.g. 'Bitcoin(BTC)' (default), 'Litecoin (LTC)',Ethereum (ETH), Binance Smart Chain (BSC), Tron (TRX), Omni (OMNI)

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

Supported crypto currencies

  • 0x/zrx '0x' or 'zrx'
  • Aave/lend 'Aave' or 'lend'
  • AdEx/adx 'AdEx' or 'adx'
  • aelf/ELF 'aelf' or 'ELF'
  • Aeternity/ae 'Aeternity' or 'ae'
  • Algorand/algo 'Algorand' or 'algo'
  • Aragon/ant 'Aragon' or 'ant'
  • Ardor/ardr 'Ardor' or 'ardr'
  • Augur/rep 'Augur' or 'rep'
  • AuroraCoin/aur 'AuroraCoin' or 'aur'
  • Australian Dollars/aud 'Australian Dollars' or 'aud'
  • Bancor/bnt 'Bancor' or 'bnt'
  • Bankex/bkx 'Bankex' or 'bkx'
  • BasicAttentionToken/bat 'BasicAttentionToken' or 'bat'
  • BeaverCoin/bvc 'BeaverCoin' or 'bvc'
  • BinanceCoin/bnb 'BinanceCoin' or 'bnb'
  • BioCoin/bio 'BioCoin' or 'bio'
  • Bitcoin/btc 'Bitcoin' or 'btc'
  • Bitcoin Diamond/bcd 'Bitcoin Diamond' or 'bcd'
  • BitcoinCash/bcc 'BitcoinCash' or 'bcc'
  • BitcoinCash/bch 'BitcoinCash' or 'bch'
  • BitcoinGold/btg 'BitcoinGold' or 'btg'
  • BitcoinPrivate/btcp 'BitcoinPrivate' or 'btcp'
  • BitcoinZ/btcz 'BitcoinZ' or 'btcz'
  • Bitquence/bqx 'Bitquence' or 'bqx'
  • Bitshares/bts 'Bitshares' or 'bts'
  • BitTorrent/btt 'BitTorrent' or 'btt'
  • Blockstack/stx 'Blockstack' or 'stx'
  • Callisto/clo 'Callisto' or 'clo'
  • Cardano/ada 'Cardano' or 'ada'
  • Chainlink/link 'Chainlink' or 'link'
  • Civic/cvc 'Civic' or 'cvc'
  • Cosmos/atom 'Cosmos' or 'atom'
  • Dash/dash 'Dash' or 'dash'
  • Decentraland/MANA 'Decentraland' or 'MANA'
  • Decred/dcr 'Decred' or 'dcr'
  • Dent/dent 'Dent' or 'dent'
  • DigiByte/dgb 'DigiByte' or 'dgb'
  • District0x/dnt 'District0x' or 'dnt'
  • DogeCoin/doge 'DogeCoin' or 'doge'
  • Enigma/eng 'Enigma' or 'eng'
  • Enjin Coin/enj 'Enjin Coin' or 'enj'
  • EOS/eos 'EOS' or 'eos'
  • Ethereum/eth 'Ethereum' or 'eth'
  • EthereumClassic/etc 'EthereumClassic' or 'etc'
  • EtherZero/etz 'EtherZero' or 'etz'
  • ETHOS/ethos 'ETHOS' or 'ethos'
  • Expanse/exp 'Expanse' or 'exp'
  • FreiCoin/frc 'FreiCoin' or 'frc'
  • FunFair/fun 'FunFair' or 'fun'
  • GameCredits/game 'GameCredits' or 'game'
  • GarliCoin/grlc 'GarliCoin' or 'grlc'
  • Gnosis/gno 'Gnosis' or 'gno'
  • Golem/gnt 'Golem' or 'gnt'
  • Golem/gnt 'Golem' or 'gnt'
  • Hedera Hashgraph/hbar 'Hedera Hashgraph' or 'hbar'
  • Holo/HOT 'Holo' or 'HOT'
  • Horizen/zen 'Horizen' or 'zen'
  • Hush/hush 'Hush' or 'hush'
  • ICON/icx 'ICON' or 'icx'
  • iExec RLC/RLC 'iExec RLC' or 'RLC'
  • iExec RLC/rlc 'iExec RLC' or 'rlc'
  • Internet of Services/IOST 'Internet of Services' or 'IOST'
  • Iota/iota 'Iota' or 'iota'
  • Komodo/kmd 'Komodo' or 'kmd'
  • Lisk/lsk 'Lisk' or 'lsk'
  • LiteCoin/ltc 'LiteCoin' or 'ltc'
  • Matchpool/gup 'Matchpool' or 'gup'
  • MegaCoin/mec 'MegaCoin' or 'mec'
  • Melon/mln 'Melon' or 'mln'
  • Metal/mtl 'Metal' or 'mtl'
  • Monacao/mco 'Monacao' or 'mco'
  • MonaCoin/mona 'MonaCoin' or 'mona'
  • Monero/xmr 'Monero' or 'xmr'
  • NameCoin/nmc 'NameCoin' or 'nmc'
  • Nano/nano 'Nano' or 'nano'
  • NEM/xem 'NEM' or 'xem'
  • Neo/neo 'Neo' or 'neo'
  • NeoGas/gas 'NeoGas' or 'gas'
  • Nexus/nxs 'Nexus' or 'nxs'
  • Numeraire/nmr 'Numeraire' or 'nmr'
  • Odyssey/ocn 'Odyssey' or 'ocn'
  • OmiseGO/omg 'OmiseGO' or 'omg'
  • Ontology/ont 'Ontology' or 'ont'
  • Ontology Gas/ong 'Ontology Gas' or 'ong'
  • Paxos Standard Token/pax 'Paxos Standard Token' or 'pax'
  • PeerCoin/ppc 'PeerCoin' or 'ppc'
  • PIVX/pivx 'PIVX' or 'pivx'
  • Polymath/poly 'Polymath' or 'poly'
  • Populous/ppt 'Populous' or 'ppt'
  • PowerLedger/powr 'PowerLedger' or 'powr'
  • PrimeCoin/xpm 'PrimeCoin' or 'xpm'
  • ProtoShares/pts 'ProtoShares' or 'pts'
  • Pundi X/npxs 'Pundi X' or 'npxs'
  • Qtum/qtum 'Qtum' or 'qtum'
  • RaiBlocks/xrb 'RaiBlocks' or 'xrb'
  • Ravencoin/rvn 'Ravencoin' or 'rvn'
  • RipioCreditNetwork/rcn 'RipioCreditNetwork' or 'rcn'
  • Ripple/xrp 'Ripple' or 'xrp'
  • Salt/salt 'Salt' or 'salt'
  • Siacoin/sc 'Siacoin' or 'sc'
  • SnowGem/sng 'SnowGem' or 'sng'
  • SolarCoin/slr 'SolarCoin' or 'slr'
  • Status/snt 'Status' or 'snt'
  • STEEM/steem 'STEEM' or 'steem'
  • Stellar Lumens/xlm 'Stellar Lumens' or 'xlm'
  • Storj/storj 'Storj' or 'storj'
  • Storm/storm 'Storm' or 'storm'
  • Stratis/strat 'Stratis' or 'strat'
  • Substratum/sub 'Substratum' or 'sub'
  • Swarm City/swt 'Swarm City' or 'swt'
  • Syscoin/sys 'Syscoin' or 'sys'
  • TenX/pay 'TenX' or 'pay'
  • Tether/usdt 'Tether' or 'usdt'
  • Tezos/XTZ 'Tezos' or 'XTZ'
  • THETA/theta 'THETA' or 'theta'
  • Tron/trx 'Tron' or 'trx'
  • TrueUSD/tusd 'TrueUSD' or 'tusd'
  • USD Coin/usdc 'USD Coin' or 'usdc'
  • VeChain/vet 'VeChain' or 'vet'
  • Verge/xvg 'Verge' or 'xvg'
  • VertCoin/vtc 'VertCoin' or 'vtc'
  • Viberate/vib 'Viberate' or 'vib'
  • VoteCoin/vot 'VoteCoin' or 'vot'
  • WaltonChain/wtc 'WaltonChain' or 'wtc'
  • Waves/waves 'Waves' or 'waves'
  • Wings/wings 'Wings' or 'wings'
  • ZCash/zec 'ZCash' or 'zec'
  • ZClassic/zcl 'ZClassic' or 'zcl'
  • ZenCash/zen 'ZenCash' or 'zen'
  • Zilliqa/zil 'Zilliqa' or 'zil'

Usage example

Node

const WAValidator = require("@capitual/api-crypto-address-validator");

const valid = WAValidator.validateByNetwork(
    "1KFzzGtDdnq5hrwxXGjwVnKzRbvf8WVxck",
    "OMNI"
);

if (valid) {
    console.log("This is a valid network");
} else {
    console.log("network INVALID");
}
// This will log 'This is a valid networkfindNetwork' to the console.
const WAValidator = require("@capitual/api-crypto-address-validator");

const 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.
const WAValidator = require("@capitual/api-crypto-address-validator");

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