Laravel validator for various cryptocurrency address formats

v1.0.7 2017-04-21 14:54 UTC

This package is not auto-updated.

Last update: 2020-06-26 20:08:27 UTC


Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Adds a Laravel validator for various cryptocurrency address formats.

Currently adds a onion and bitcoin validator. Planning to add the following soon:

  • Dash addresses
  • Dogecoin addresses
  • Ethereum addresses (only very basic)
  • Litecoin addresses
  • Monero addresses

Also planning to create the following validators under another project

  • GPG pubkey
  • GPG signed data
  • Generic Base38 Validator
  • Generic Base32 Validator
  • Generic Hex validator
  • vinkla/laravel-hashids validator
  • CC validator (Luhn digit check algorithm)


Via Composer

$ composer require DeftNerd/CryptoAddressValidator

Add the following to the providers array in your config/app.php file



Test any onion address to see if it follows the format

Base32, 16 characters, ends in '.onion'

Validator::make(['test' => 'facebookcorewwwi.onion'], ['test' => 'onion'])->passes(); //true

Validator::make(['test' => 'notarealonionaddress.onion'], ['test' => 'onion'])->passes(); //false

Validator::make(['test' => ''], ['test' => 'onion'])->passes(); //false

Test a Bitcoin address to see if it's valid.

Checks for proper Base58 encoding, tests the checksum, verifies the network prefix byte is one of (mainnet regular, mainnet p2sh, testnet regular, testnet p2sh)

Validator::make(['test' => '1HB5XMLmzFVj8ALj6mfBsbifRoD4miY36v'], ['test' => 'bitcoin'])->passes(); // true (Bitcoin address)

Validator::make(['test' => 'n2eMqTT929pb1RDNuqEnxdaLau1rxy3efi'], ['test' => 'bitcoin'])->passes(); // true (Bitcoin Testnet address)

Validator::make(['test' => 'jsd8j8jksdjf9sj98'], ['test' => 'bitcoin'])->passes(); // false (random characters)

Validator::make(['test' => 'LQ3B36Yv2rBTxdgAdYpU2UcEZsaNwXeATk'], ['test' => 'bitcoin'])->passes(); // false (Litecoin address)


If you discover any security related issues, please email instead of using the issue tracker.



The MIT License (MIT). Please see License File for more information.