Your xpub should be the extended master public key. Why do you believe that your derivation path is formed according to BIP44?
Why do you believe that your provided per user path is hardened (like you tried with m/44'/client_id'/0' and m/44'/0'/clientid'/0')? I don't see any clue for that in your code. Is that somewhere implicitly used in the modules of that Bit-Wasp/bitcoin-phpLibrary?
Probably you'd need to dig in the code there further. You will have to find out what full derivation path for a client user address is used.
To narrow it down, print some log line for $pubPrefix, $config and add some log lines for function derivePath(), maybe you can see there how the derivation path is assembled.
here is the log when i use 0/0 in my script :
$config :
BitWasp\Bitcoin\Key\Deterministic\HdPrefix\GlobalPrefixConfig Object
(
[networkConfigs:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\GlobalPrefixConfig:private] => Array
(
[BitWasp\Bitcoin\Network\Networks\Bitcoin] => BitWasp\Bitcoin\Key\Deterministic\HdPrefix\NetworkConfig Object
(
[network:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\NetworkConfig:private] => BitWasp\Bitcoin\Network\Networks\Bitcoin Object
(
[base58PrefixMap:protected] => Array
(
[p2pkh] => 00
[p2sh] => 05
[wif] => 80
)
[bech32PrefixMap:protected] => Array
(
[segwit] => bc
)
[bip32PrefixMap:protected] => Array
(
[xpub] => 0488b21e
[xprv] => 0488ade4
)
[bip32ScriptTypeMap:protected] => Array
(
[xpub] => pubkeyhash
[xprv] => pubkeyhash
)
[signedMessagePrefix:protected] => Bitcoin Signed Message
[p2pMagic:protected] => d9b4bef9
)
[scriptPrefixMap:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\NetworkConfig:private] => Array
(
[0488ade4] => BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix Object
(
[privatePrefix:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => 0488ade4
[publicPrefix:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => 0488b21e
[scriptDataFactory:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => BitWasp\Bitcoin\Key\KeyToScript\Factory\P2pkhScriptDataFactory Object
(
[pubKeySerializer:protected] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer Object
(
[ecAdapter:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer:private] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter Object
(
[math:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => BitWasp\Bitcoin\Math\Math Object
(
)
[generator:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => Mdanter\Ecc\Primitives\GeneratorPoint Object
(
[x] => 55066263022277343669578718895168534326250603453777594175500187360389116729240
[y] => 32670510020758816978083085130507043184471273380659243275938904335757337482424
[z] => 115792089237316195423570985008687907852837564279074904382605163141518161494337
[curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
(
[a] => 0
[b] => 7
[prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
)
)
)
)
)
)
[0488b21e] => BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix Object
(
[privatePrefix:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => 0488ade4
[publicPrefix:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => 0488b21e
[scriptDataFactory:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => BitWasp\Bitcoin\Key\KeyToScript\Factory\P2pkhScriptDataFactory Object
(
[pubKeySerializer:protected] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer Object
(
[ecAdapter:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer:private] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter Object
(
[math:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => BitWasp\Bitcoin\Math\Math Object
(
)
[generator:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => Mdanter\Ecc\Primitives\GeneratorPoint Object
(
[x] => 55066263022277343669578718895168534326250603453777594175500187360389116729240
[y] => 32670510020758816978083085130507043184471273380659243275938904335757337482424
[z] => 115792089237316195423570985008687907852837564279074904382605163141518161494337
[curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
(
[a] => 0
[b] => 7
[prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
)
)
)
)
)
)
)
[scriptTypeMap:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\NetworkConfig:private] => Array
(
[pubkeyhash] => BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix Object
(
[privatePrefix:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => 0488ade4
[publicPrefix:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => 0488b21e
[scriptDataFactory:BitWasp\Bitcoin\Key\Deterministic\HdPrefix\ScriptPrefix:private] => BitWasp\Bitcoin\Key\KeyToScript\Factory\P2pkhScriptDataFactory Object
(
[pubKeySerializer:protected] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer Object
(
[ecAdapter:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer:private] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter Object
(
[math:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => BitWasp\Bitcoin\Math\Math Object
(
)
[generator:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => Mdanter\Ecc\Primitives\GeneratorPoint Object
(
[x] => 55066263022277343669578718895168534326250603453777594175500187360389116729240
[y] => 32670510020758816978083085130507043184471273380659243275938904335757337482424
[z] => 115792089237316195423570985008687907852837564279074904382605163141518161494337
[curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
(
[a] => 0
[b] => 7
[prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
)
)
)
)
)
)
)
)
)
)
derivePath() /$child_key :
BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey Object
(
[ecAdapter:protected] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter Object
(
[math:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => BitWasp\Bitcoin\Math\Math Object
(
)
[generator:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => Mdanter\Ecc\Primitives\GeneratorPoint Object
(
[x] => 55066263022277343669578718895168534326250603453777594175500187360389116729240
[y] => 32670510020758816978083085130507043184471273380659243275938904335757337482424
[z] => 115792089237316195423570985008687907852837564279074904382605163141518161494337
[curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
(
[a] => 0
[b] => 7
[prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
)
)
)
[depth:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] => 5
[parentFingerprint:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] => 723835999
[sequence:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] => 0
[chainCode:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] => BitWasp\Buffertools\Buffer Object
(
[size] => 32
[buffer] => 0xfb02983db7403c801564ac0282bec2be39722325968b530fc3505898e3b346da
)
[key:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Key\PublicKey Object
(
[ecAdapter:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Key\PublicKey:private] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter Object
(
[math:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => BitWasp\Bitcoin\Math\Math Object
(
)
[generator:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => Mdanter\Ecc\Primitives\GeneratorPoint Object
(
[x] => 55066263022277343669578718895168534326250603453777594175500187360389116729240
[y] => 32670510020758816978083085130507043184471273380659243275938904335757337482424
[z] => 115792089237316195423570985008687907852837564279074904382605163141518161494337
[curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
(
[a] => 0
[b] => 7
[prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
)
)
)
[point:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Key\PublicKey:private] => Mdanter\Ecc\Primitives\Point Object
(
[x] => 109756113754416006883068144059295232931743649784206556207715924624422608984554
[y] => 30336686192482416354579004682961920948817072959615255523669782145222377339335
[z] => 0
[curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
(
[a] => 0
[b] => 7
[prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
)
)
[prefix:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Key\PublicKey:private] =>
[compressed:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Key\PublicKey:private] => 1
[pubKeyHash:protected] =>
)
[scriptDataFactory:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] => BitWasp\Bitcoin\Key\KeyToScript\Factory\P2pkhScriptDataFactory Object
(
[pubKeySerializer:protected] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer Object
(
[ecAdapter:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Serializer\Key\PublicKeySerializer:private] => BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter Object
(
[math:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => BitWasp\Bitcoin\Math\Math Object
(
)
[generator:BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter:private] => Mdanter\Ecc\Primitives\GeneratorPoint Object
(
[x] => 55066263022277343669578718895168534326250603453777594175500187360389116729240
[y] => 32670510020758816978083085130507043184471273380659243275938904335757337482424
[z] => 115792089237316195423570985008687907852837564279074904382605163141518161494337
[curve] => Mdanter\Ecc\Curves\NamedCurveFp Object
(
[a] => 0
[b] => 7
[prime] => 115792089237316195423570985008687907853269984665640564039457584007908834671663
)
)
)
)
)
[scriptAndSignData:BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey:private] =>
)