@capitual/api-crypto-address-validator

    1.13.1 • Public • Published

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

    Install

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

    DownloadsWeekly Downloads

    11

    Version

    1.13.1

    License

    MIT

    Unpacked Size

    2.4 MB

    Total Files

    51

    Last publish

    Collaborators

    • capgurezende
    • jesobreira
    • eduardoborges
    • kaionunes
    • digorc
    • rafacastanheira
    • nayara.dias
    • viniciusonps
    • luccapedrini