Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Api/BitcoinCashApi

Bitcoin Cash API Reference

// Set your API Keys 👇 here
$sdk = new \Tatum\Sdk();

// MainNet API Call
$sdk->mainnet()->api()->bitcoinCash();

// TestNet API Call
$sdk->testnet()->api()->bitcoinCash();

Methods

Method Description
bchBroadcast() Broadcast signed Bitcoin Cash transaction
bchGenerateAddress() Generate Bitcoin Cash deposit address from Extended public key
bchGenerateAddressPrivateKey() Generate Bitcoin Cash private key
bchGenerateWallet() Generate Bitcoin Cash wallet
bchGetBlock() Get Bitcoin Cash Block by hash
bchGetBlockChainInfo() Get Bitcoin Cash Blockchain Information
bchGetBlockHash() Get Bitcoin Cash Block hash
bchGetRawTransaction() Get Bitcoin Cash Transaction by hash
bchGetTxByAddress() Get Bitcoin Cash Transactions by address
bchTransaction() Send BCH to Bitcoin Cash addresses
bchTransactionKMS() Send BCH to Bitcoin Cash addresses

bchBroadcast()

Example

#️⃣ Execute command in terminal

✨ php -f bchBroadcast.php

Request

POST /v3/bcash/broadcast

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->bitcoinCash()->bchBroadcast(
    \Tatum\Model\BroadcastKMS $broadcast_kms
): \Tatum\Model\TransactionHash

Parameters

Name Type Description Notes
$broadcast_kms \Tatum\Model\BroadcastKMS    

Return type

\Tatum\Model\TransactionHash

Description

Broadcast signed Bitcoin Cash transaction

5 credits per API call.

Broadcast signed transaction to Bitcoin Cash blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

Back to top


bchGenerateAddress()

Example

#️⃣ Execute command in terminal

✨ php -f bchGenerateAddress.php

Request

GET /v3/bcash/address/{xpub}/{index}

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->bitcoinCash()->bchGenerateAddress(
    string $xpub,
    float $index
): \Tatum\Model\BchGenerateAddress200Response

Parameters

Name Type Description Notes
$xpub string Extended public key of wallet.  
$index float Derivation index of desired address to be generated.  

Return type

\Tatum\Model\BchGenerateAddress200Response

Description

Generate Bitcoin Cash deposit address from Extended public key

5 credits per API call.

Generate Bitcoin Cash deposit address from Extended public key. Deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1. Generates new format of address starting with bitcoincash: in case of mainnet, bchtest: in case of testnet..

Back to top


bchGenerateAddressPrivateKey()

Example

#️⃣ Execute command in terminal

✨ php -f bchGenerateAddressPrivateKey.php

Request

POST /v3/bcash/wallet/priv

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->bitcoinCash()->bchGenerateAddressPrivateKey(
    \Tatum\Model\PrivKeyRequest $priv_key_request
): \Tatum\Model\PrivKey

Parameters

Name Type Description Notes
$priv_key_request \Tatum\Model\PrivKeyRequest    

Return type

\Tatum\Model\PrivKey

Description

Generate Bitcoin Cash private key

5 credits per API call.

Generate private key for address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

Back to top


bchGenerateWallet()

Example

#️⃣ Execute command in terminal

✨ php -f bchGenerateWallet.php

Request

GET /v3/bcash/wallet

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->bitcoinCash()->bchGenerateWallet(
    [ string $mnemonic ]
): \Tatum\Model\Wallet

Parameters

Name Type Description Notes
$mnemonic string Mnemonic to use for generation of extended public and private keys. [optional]

Return type

\Tatum\Model\Wallet

Description

Generate Bitcoin Cash wallet

5 credits per API call.

Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys. Each address is identified by 3 main values:

  • Private Key - your secret value, which should never be revealed
  • Public Key - public address to be published
  • Derivation index - index of generated address

Tatum follows BIP44 specification and generates for Bitcoin Cash wallet with derivation path m’/44’/145’/0’/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible Bitcoin Cash wallet.

Back to top


bchGetBlock()

Example

#️⃣ Execute command in terminal

✨ php -f bchGetBlock.php

Request

GET /v3/bcash/block/{hash}

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->bitcoinCash()->bchGetBlock(
    string $hash
): \Tatum\Model\BchBlock

Parameters

Name Type Description Notes
$hash string Block hash or height  

Return type

\Tatum\Model\BchBlock

Description

Get Bitcoin Cash Block by hash

5 credits per API call.

Get Bitcoin Cash Block detail by block hash or height.

Back to top


bchGetBlockChainInfo()

Example

#️⃣ Execute command in terminal

✨ php -f bchGetBlockChainInfo.php

Request

GET /v3/bcash/info

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->bitcoinCash()->bchGetBlockChainInfo(): \Tatum\Model\BchInfo

Parameters

This endpoint does not need any parameter.

Return type

\Tatum\Model\BchInfo

Description

Get Bitcoin Cash Blockchain Information

5 credits per API call.

Get Bitcoin Cash Blockchain Information. Obtain basic info like testnet / mainnet version of the chain, current block number and it’s hash.

Back to top


bchGetBlockHash()

Example

#️⃣ Execute command in terminal

✨ php -f bchGetBlockHash.php

Request

GET /v3/bcash/block/hash/{i}

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->bitcoinCash()->bchGetBlockHash(
    float $i
): \Tatum\Model\BchGetBlockHash200Response

Parameters

Name Type Description Notes
$i float The number of blocks preceding a particular block on a block chain.  

Return type

\Tatum\Model\BchGetBlockHash200Response

Description

Get Bitcoin Cash Block hash

5 credits per API call.

Get Bitcoin Cash Block hash. Returns hash of the block to get the block detail.

Back to top


bchGetRawTransaction()

Example

#️⃣ Execute command in terminal

✨ php -f bchGetRawTransaction.php

Request

GET /v3/bcash/transaction/{hash}

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->bitcoinCash()->bchGetRawTransaction(
    string $hash
): \Tatum\Model\BchTx

Parameters

Name Type Description Notes
$hash string Transaction hash  

Return type

\Tatum\Model\BchTx

Description

Get Bitcoin Cash Transaction by hash

5 credits per API call.

Get Bitcoin Cash Transaction by transaction hash.

Back to top


bchGetTxByAddress()

Example

#️⃣ Execute command in terminal

✨ php -f bchGetTxByAddress.php

Request

GET /v3/bcash/transaction/address/{address}

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->bitcoinCash()->bchGetTxByAddress(
    string $address,
    [ int $skip ]
): \Tatum\Model\BchTx[]

Parameters

Name Type Description Notes
$address string Address  
$skip int Define, how much transactions should be skipped to obtain another page. [optional]

Return type

\Tatum\Model\BchTx[]

Description

Get Bitcoin Cash Transactions by address

5 credits per API call.

Get Bitcoin Cash Transaction by address. Limit is 50 transaction per response.

Back to top


bchTransaction()

Example

#️⃣ Execute command in terminal

✨ php -f bchTransaction.php

Request

POST /v3/bcash/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->bitcoinCash()->bchTransaction(
    \Tatum\Model\BchTransaction $bch_transaction
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$bch_transaction \Tatum\Model\BchTransaction    

Return type

\Tatum\Model\TransactionSigned

Description

Send BCH to Bitcoin Cash addresses

10 credits per API call

Send BCH to blockchain addresses.

Bitcoin Cash transactions are based on UTXOs. “UTXO” stands for “Unspent Transaction Output”. A UTXO is the amount of BCH that remains at a Bitcoin Cash address after a cryptocurrency transaction involving this address has been performed. The UTXO can then be used as input for a new cryptocurrency transaction. For more information the UTXO, see the Bitcoin user documentation.

You build a BCH transaction by sending BCH from UTXOs. Each UTXO is included in the transaction.

When an UTXO is entered into a transaction, the whole UTXO amount is included and must be spent. For example, address A receives two transactions, T1 with 1 BCH and T2 with 2 BCH. A transaction that consumes the UTXOs from both T1 and T2 will have an available amount of 3 BCH to spend:1 BCH (from T1) + 2 BCH (from T2) = 3 BCH (to spend in total)

You can send the assets to one or multiple recipients in one transaction. If you send the assets to multiple addresses, each address must have its own amount to receive.

Paying the gas fee and receiving the change When the amount that the recipients should receive is lower than the amount from the UTXOs, the difference between these two amounts is by default used as the gas fee for the transaction. Because this amount may be considerable and you may not want to spend it all on the gas fee, you can explicitly specify the fee amount and the blockchain address where any extra funds remaining after covering the fee will be sent (the fee and changeAddress parameters in the request body, correspondingly).

Signing a transaction When sending BCH, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

Back to top


bchTransactionKMS()

Example

#️⃣ Execute command in terminal

✨ php -f bchTransactionKMS.php

Request

POST /v3/bcash/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->bitcoinCash()->bchTransactionKMS(
    \Tatum\Model\BchTransactionKMS $bch_transaction_kms
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$bch_transaction_kms \Tatum\Model\BchTransactionKMS    

Return type

\Tatum\Model\TransactionSigned

Description

Send BCH to Bitcoin Cash addresses

Back to top