Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

crypto-address-validator-ts

marksuurland2.4kMIT0.5.12TypeScript support: included

Crypto address validator for Bitcoin and other Altcoins, forked to be used with typescript

typesript, angular, 0x, zrx, Aave Coin, aave, Aragon, ant, Augur, rep, AugurV2, repv2, AuroraCoin, aur, Bancor, bnt, Bankex, bkx, Basic Attention Token, bat, BeaverCoin, bvc, Binance Coin Mainnet, bnb, BioCoin, bio, Bitcoin, btc, Bitcoin SV, bsv, BitcoinCash, bch, BitcoinGold, btg, BitcoinPrivate, btcp, BitcoinZ, btcz, BlockTrade, btt, BTU Protocol, btu, Callisto, clo, Cardano, ada, Chainlink, link, Civic, cvc, Compound, comp, Cred, lba, Crypto.com Coin, cro, CUSD, cusd, Dash, dash, Decentraland, mana, Decred, dcr, DigiByte, dgb, District0x, dnt, DogeCoin, doge, Enjin Coin, enj, EOS, eos, Ethereum, eth, EthereumClassic, etc, EtherZero, etz, Expanse, exp, FirmaChain, fct, FreiCoin, frc, GameCredits, game, GarliCoin, grlc, Gnosis, gno, Golem, glm, Golem (GNT), gnt, HedgeTrade, hedg, Hush, hush, HyperSpace, xsc, iExec RLC, rlc, Komodo, kmd, LBRY Credits, lbc, Lisk, lsk, LiteCoin, ltc, Loom Network, loom, Maker, mkr, Matchpool, gup, Matic, matic, MegaCoin, mec, Melon, mln, Metal, mtl, MonaCoin, mona, Monero, xmr, Multi-collateral DAI, dai, NameCoin, nmc, Nano, nano, Nem, xem, Neo, neo, NeoGas, gas, Numeraire, nmr, Ocean Protocol, ocean, Odyssey, ocn, OmiseGO, omg, Paxos, pax, PeerCoin, ppc, PIVX, pivx, Polkadot, dot, Polymath, poly, PrimeCoin, xpm, ProtoShares, pts, Qtum, qtum, Quant, qnt, Quantum Resistant Ledger, qrl, RaiBlocks, xrb, Ripio Credit Network, rcn, Ripple, xrp, Baby Ripple, babyxrp, Salt, salt, Serve, serv, Siacoin, sc, SnowGem, sng, Solana, sol, SolarCoin, slr, SOLVE, solve, Spendcoin, spnd, Status, snt, Stellar, xlm, Storj, storj, Storm, storm, StormX, stmx, Swarm City, swt, Synthetix Network, snx, Tap, xtp, TEMCO, temco, TenX, pay, Tether, usdt, Tezos, xtz, Tron, trx, TrueUSD, tusd, Uniswap Coin, uni, USD Coin, usdc, VeChain, vet, VertCoin, vtc, Viberate, vib, VoteCoin, vot, Waves, waves, Wings, wings, ZCash, zec, ZClassic, zcl, ZenCash, zen, yearn.finance, yfi, Yield Guild Games, ygg, Wrapped Nexus Mutual, wnxm, Verasity, vra, VIDT Datalink, vidt, Ultra, uos, Universal Market Access, uma, Terra Virtua Kolect, tvk, Tellor, trb, Tornado Cash, torn, Swipe, sxp, SushiSwap, sushi, Serum, srm, SKALE Network, skl, SHIBA INU, shib, The Sandbox, sand, Reserve Rights, rsr, KeeperDAO, rook, Reef, reef, Raiden Network Token, rdn, Rarible, rari, Quantstamp, qsp, Pundi X, pundix, Marlin, pond, Phala Network, pha, Perpetual Protocol, perp, Orchid, oxt, Orion Protocol, orn, OKB, okb, Origin Protocol, ogn, Enzyme, mln, Loopring, lrc, Kyber Network Crystal v2, knc, Injective Protocol, inj, Illuvium, ilv, Hegic, hegic, The Graph, grt, Gods Unchained, gods, Aavegotchi, ghst, FUNToken, fun, FTX Token, ftt, Fantom, ftm, e-Radix, exrd, Ethernity Chain, ern, Ethereum Name Service, ens, Dent, dent, Curve DAO Token, crv, Celsius, cel, bZx Protocol, bzrx, Bluzelle, blz, Balancer, bal, Badger DAO, badger, Axie Infinity, axs, Audius, audio, Amp, amp, SingularityNET, agix, Status, snt, MyNeighborAlice, alice, Mirror Protocol, mir, Chiliz, chz, SuperFarm, super, UNUS SED LEO, leo, SuperRare, rare, Selfkey, key, Immutable X, imx, ICON, icx, Holo, hot, Efinity Token, efi, EasyFi, ez, Streamr, data, Cartesi, ctsi, Cream Finance, cream, Band Protocol, band, Alpha Finance Lab, alpha, 1inch Network, 1inch, IOTA, miota

readme

crypto-address-validator-ts

Simple wallet address validator for validating Bitcoin and other altcoins addresses in Typescript can be used in for example an Angular project.

Forked from christsim/multicoin-address-validator.

Which is forked from ryanralph/altcoin-address.

Installation

NPM

npm install crypto-address-validator-ts

API

validate (address [, currency = 'bitcoin'[, networkType = 'prod']])
Parameters
  • address - Wallet address to validate.
  • currency - Currency name or symbol, e.g. 'bitcoin' (default), 'litecoin' or 'LTC'
  • options - Use { networkType: 'prod' } (default) to enforce standard address, { networkType: 'testnet' } to enforce testnet address and '{ networkType: '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

  • 0x/zrx '0x' or 'zrx'
  • 1inch Network/1inch '1inch Network' or '1inch' only erc-20 validation no bep-20, xdai or avalanche c-chain
  • Aave Coin/aave 'Aave Coin' or 'aave'
  • Aavegotchi/ghst 'Aavegotchi' or 'ghst'
  • Amp/amp 'Amp' or 'amp'
  • Aragon/ant 'Aragon' or 'ant'
  • Alpha Finance Lab/alpha 'Alpha Finance Lab' or 'alpha' only erc-20 validation no bep-20
  • Audius/audio 'Audius' or 'audio'
  • Augur/rep 'Augur' or 'rep'
  • AugurV2/repv2 'AugurV2' or 'repv2'
  • AuroraCoin/aur 'AuroraCoin' or 'aur'
  • Axie Infinity/axs 'Axie Infinity' or 'axs'
  • Baby Ripple/babyxrp 'Baby Ripple' or 'babyxrp'
  • Badger DAO/badger 'Badger DAO' or 'badger'
  • Balancer/bal 'Balancer' or 'bal'
  • Bancor/bnt 'Bancor' or 'bnt'
  • Band Protocol/band 'Band Protocol' or 'band' only erc-20 validation no bep-20, xdai or fantom
  • Bankex/bkx 'Bankex' or 'bkx'
  • Basic Attention Token/bat 'Basic Attention Token' or 'bat'
  • BeaverCoin/bvc 'BeaverCoin' or 'bvc'
  • Binance Coin Mainnet/bnb 'Binance Coin Mainnet' or 'bnb'
  • BioCoin/bio 'BioCoin' or 'bio'
  • Bitcoin/btc 'Bitcoin' or 'btc'
  • Bitcoin SV/bsv 'Bitcoin SV' or 'bsv'
  • BitcoinCash/bch 'BitcoinCash' or 'bch'
  • BitcoinGold/btg 'BitcoinGold' or 'btg'
  • BitcoinPrivate/btcp 'BitcoinPrivate' or 'btcp'
  • BitcoinZ/btcz 'BitcoinZ' or 'btcz'
  • BlockTrade/btt 'BlockTrade' or 'btt'
  • Bluzelle/blz 'Bluzelle' or 'blz'
  • BTU Protocol/btu 'BTU Protocol' or 'btu'
  • bZx Protocol/bzrx 'bZx Protocol' or 'bzrx'
  • Callisto/clo 'Callisto' or 'clo'
  • Cardano/ada 'Cardano' or 'ada'
  • Cartesi/ctsi 'Cartesi' or 'ctsi' only erc-20 validation no bep-20, polygon or avalanche c-chain
  • Celsius/cel 'Celsius' or 'cel'
  • Chiliz/chz 'Chiliz' or 'chz' only erc-20 validation no bep-20
  • Chainlink/link 'Chainlink' or 'link'
  • Civic/cvc 'Civic' or 'cvc'
  • Compound/comp 'Compound' or 'comp'
  • Cream Finance/cream 'Cream Finance' or 'cream' only erc-20 validation no bep-20, xdai or fantom
  • Cred/lba 'Cred' or 'lba'
  • Crypto.com Coin/cro 'Crypto.com Coin' or 'cro'
  • Curve DAO Token/crv 'Curve DAO Token' or 'crv'
  • CUSD/cusd 'CUSD' or 'cusd'
  • 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',
  • dYdX/dydx 'dYdX' or 'dydx'
  • EasyFi/ez 'EasyFi' or 'ez'
  • Efinity Token/efi 'Efinity Token' or 'efi'
  • Enjin Coin/enj 'Enjin Coin' or 'enj'
  • Enzyme/mln 'Enzyme' or 'mln'
  • EOS/eos 'EOS' or 'eos'
  • Ethereum/eth 'Ethereum' or 'eth'
  • EthereumClassic/etc 'EthereumClassic' or 'etc'
  • Ethereum Name Service/ens 'Ethereum Name Service' or 'ens'
  • Ethernity Chain/ern 'Ethernity Chain' or 'ern'
  • EtherZero/etz 'EtherZero' or 'etz'
  • Expanse/exp 'Expanse' or 'exp'
  • e-Radix/exrd 'e-Radix' or 'exrd'
  • Fantom/ftt 'Fantom' or 'ftm'
  • FirmaChain/fct 'FirmaChain' or 'fct'
  • FreiCoin/frc 'FreiCoin' or 'frc'
  • FTX Token/ftt 'FTX Token' or 'ftt'
  • FUNToken/fun 'FreiCoin' or 'fun'
  • GameCredits/game 'GameCredits' or 'game'
  • GarliCoin/grlc 'GarliCoin' or 'grlc'
  • Gnosis/gno 'Gnosis' or 'gno'
  • Golem/glm 'Gods Unchained' or 'gods'
  • Golem/glm 'Golem' or 'glm'
  • Golem (GNT)/gnt 'Golem (GNT)' or 'gnt'
  • HedgeTrade/hedg 'HedgeTrade' or 'hedg'
  • Hegic/hegic 'Hegic' or 'hegic'
  • Holo/hot 'Holo' or 'hot' only erc-20 validation no xdai
  • Hush/hush 'Hush' or 'hush'
  • HyperSpace/xsc 'HyperSpace' or 'xsc'
  • ICON/icx 'ICON' or 'icx'
  • iExec RLC/rlc 'iExec RLC' or 'rlc'
  • Immutable X/imx 'Immutable X' or 'imx'
  • Illuvium/ilv 'Illuvium' or 'ilv'
  • Injective Protocol/inj 'Injective Protocol' or 'inj'
  • IOTA/miota 'IOTA' or 'miota'
  • Komodo/kmd 'Komodo' or 'kmd'
  • KeeperDAO/rook 'KeeperDAO' or 'rook'
  • Kyber Network Crystal v2/knc 'Kyber Network Crystal v2' or 'knc'
  • LBRY Credits/lbc 'LBRY Credits' or 'lbc'
  • UNUS SED LEO/leo 'UNUS SED LEO' or 'leo'
  • Lisk/lsk 'Lisk' or 'lsk'
  • LiteCoin/ltc 'LiteCoin' or 'ltc'
  • Loopring/lrc 'Loopring' or 'lrc'
  • Loom Network/loom 'Loom Network' or 'loom'
  • Maker/mkr 'Maker' or 'mkr'
  • Marlin/pond 'Marlin' or 'pond'
  • Matchpool/gup 'Matchpool' or 'gup'
  • Matic/matic 'Matic' or 'matic'
  • MegaCoin/mec 'MegaCoin' or 'mec'
  • Melon/mln 'Melon' or 'mln'
  • Metal/mtl 'Metal' or 'mtl'
  • Mirror Protocol/mir 'Mirror Protocol' or 'mir' only erc-20 validation no bep-20 or terra
  • MonaCoin/mona 'MonaCoin' or 'mona'
  • Monero/xmr 'Monero' or 'xmr'
  • Multi-collateral DAI/dai 'Multi-collateral DAI' or 'dai'
  • MyNeighborAlice/alice 'MyNeighborAlice' or 'alice' only erc-20 validation no bep-20
  • 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'
  • Numeraire/nmr 'Numeraire' or 'nmr'
  • Ocean Protocol/ocean 'Ocean Protocol' or 'ocean'
  • Odyssey/ocn 'Odyssey' or 'ocn'
  • OKB/okb 'OKB' or 'okb'
  • OmiseGO/omg 'OmiseGO' or 'omg'
  • Orchid/oxt 'Orchid' or 'oxt'
  • Origin Protocol/ogn 'Origin Protocol' or 'ogn'
  • Orion Protocol/orn 'Orion Protocol' or 'orn'
  • Paxos/pax 'Paxos' or 'pax'
  • PeerCoin/ppc 'PeerCoin' or 'ppc'
  • Perpetual Protocol/perp 'PeerCoin' or 'perp'
  • Phala Network/pha 'Phala Network' or 'pha'
  • PIVX/pivx 'PIVX' or 'pivx'
  • Polkadot/dot 'Polkadot' or 'dot'
  • Polymath/poly 'Polymath' or 'poly'
  • PrimeCoin/xpm 'PrimeCoin' or 'xpm'
  • ProtoShares/pts 'ProtoShares' or 'pts'
  • Pundi X/pundix 'Pundi X' or 'pundix'
  • Qtum/qtum 'Qtum' or 'qtum'
  • Quant/qnt 'Quant' or 'qnt'
  • Quantstamp/qsp 'Quantstamp' or 'qsp'
  • Quantum Resistant Ledger/qrl 'Quantum Resistant Ledger' or 'qrl'
  • RaiBlocks/xrb 'RaiBlocks' or 'xrb'
  • Raiden Network Token/rdn 'Raiden Network Token' or 'rdn'
  • Rarible/rari 'Rarible' or 'rari'
  • Reef/reef 'Reef' or 'reef'
  • Reserve Rights/rsr 'Reserve Rights' or 'rsr'
  • Ripio Credit Network/rcn 'Ripio Credit Network' or 'rcn'
  • Ripple/xrp 'Ripple' or 'xrp'
  • Salt/salt 'Salt' or 'salt'
  • Selfkey/key 'Selfkey' or 'key'
  • Serum/srm 'Serum' or 'srm'
  • Serve/serv 'Serve' or 'serv'
  • SHIBA INU/shib 'SHIBA INU' or 'shib'
  • Siacoin/sc 'Siacoin' or 'sc'
  • SingularityNET/agix 'SingularityNET' or 'agix'
  • SKALE Network/skl 'SKALE Network' or 'skl'
  • SnowGem/sng 'SnowGem' or 'sng'
  • SolarCoin/slr 'SolarCoin' or 'slr'
  • SOLVE/solve 'SOLVE' or 'solve'
  • Spendcoin/spnd 'Spendcoin' or 'spnd'
  • Status/snt 'Status' or 'snt'
  • Stellar/xlm 'Stellar' or 'xlm'
  • Storj/storj 'Storj' or 'storj'
  • Storm/storm 'Storm' or 'storm'
  • StormX/stmx 'StormX' or 'stmx'
  • Streamr/data 'Streamr' or 'data'
  • SushiSwap/sushi 'SushiSwap' or 'sushi',
  • SuperFarm/super 'SuperFarm' or 'super' only erc-20 validation no bep-20 or polygon
  • SuperRare/rare 'SuperRare' or 'rare'
  • Swarm City/swt 'Swarm City' or 'swt'
  • Swipe/sxp 'Swipe' or 'sxp'
  • Synthetix Network/snx 'Synthetix Network' or 'snx'
  • Tap/xtp 'Tap' or 'xtp'
  • TEMCO/temco 'TEMCO' or 'temco'
  • Tellor/trb 'Tellor' or 'trb'
  • TenX/pay 'TenX' or 'pay'
  • Tether/usdt 'Tether' or 'usdt'
  • Terra Virtua Kolect/tvk 'Terra Virtua Kolect' or 'tvk'
  • Tezos/xtz 'Tezos' or 'xtz'
  • The Graph/grt 'The Graph' or 'grt'
  • The Sandbox/sand 'The Sandbox' or 'sand'
  • Tornado Cash/torn 'Tornado Cash' or 'torn'
  • Tron/trx 'Tron' or 'trx'
  • TrueUSD/tusd 'TrueUSD' or 'tusd'
  • Ultra/uos 'Ultra' or 'uos'
  • Uniswap Coin/uni 'Uniswap Coin' or 'uni'
  • Universal Market Access/uma 'Universal Market Access' or 'uma'
  • USD Coin/usdc 'USD Coin' or 'usdc'
  • VeChain/vet 'VeChain' or 'vet'
  • VertCoin/vtc 'VertCoin' or 'vtc'
  • Verasity/vra 'Verasity' or 'vra'
  • Viberate/vib 'Viberate' or 'vib'
  • VIDT Datalink/vidt 'VIDT Datalink' or 'vidt'
  • VoteCoin/vot 'VoteCoin' or 'vot'
  • Waves/waves 'Waves' or 'waves'
  • Wings/wings 'Wings' or 'wings'
  • Wrapped Nexus Mutual/wnxm'Wrapped Nexus Mutual' or 'wnxm'
  • ZCash/zec 'ZCash' or 'zec'
  • Yearn.finance/yfi 'yearn.finance' or 'yfi'
  • Yield Guild Games/ygg 'Yield Guild Games' or 'ygg'
  • ZClassic/zcl 'ZClassic' or 'zcl'
  • ZenCash/zen 'ZenCash' or 'zen'

Usage example

Angular directive

import {Directive, Input} from '@angular/core';
import {AbstractControl, NG_VALIDATORS, ValidationErrors, Validator} from '@angular/forms';
import { validate } from 'crypto-address-validator-ts';

@Directive({
  selector: '[ccyCode]',
  providers: [{provide: NG_VALIDATORS, useExisting: CryptoAddressValidationDirective, multi: true}]
})
export class CryptoAddressValidationDirective implements Validator {

  //For example BTC
  @Input() public ccyCode: string;

  public validate(field: AbstractControl): ValidationErrors | null {
    if (!validate(field.value, this.ccyCode, null)) {
      return {messageCode: 'Invalid bitcoin address'};
    }
    return null;
  }
}

HTML

<input id="address"
       [ccyCode]="currency">