diff --git a/src/Address/BitcoinCashAddressReader.php b/src/Address/BitcoinCashAddressReader.php
index <HASH>..<HASH> 100644
--- a/src/Address/BitcoinCashAddressReader.php
+++ b/src/Address/BitcoinCashAddressReader.php
@@ -50,6 +50,23 @@ class BitcoinCashAddressReader extends AddressReaderBase
             // continue on
         }
 
+        try {
+            list ($prefix, $scriptType, $hash) = \CashAddr\CashAddress::decode(
+                sprintf("%s:%s", $network->getCashAddressPrefix(), $strAddress)
+            );
+
+            if ($prefix !== $network->getCashAddressPrefix()) {
+                return null;
+            }
+            if (!($scriptType === ScriptType::P2PKH || $scriptType === ScriptType::P2SH)) {
+                return null;
+            }
+
+            return new CashAddress($scriptType, new Buffer($hash, 20));
+        } catch (\Exception $e) {
+            // continue on
+        }
+
         return null;
     }
try prefixing the incoming string with the networks cash address prefix