Run composer require 021/crypto-wallets
Add repositories to composer.json
"repositories": [
    {
        "type": "vcs",
        "url": "git@github.com:021-projects/php-bitcoinrpc.git"
    }
]
- PHP 8.1+
__construct(\O21\CryptoWallets\Interfaces\ConnectConfigInterface $config)
isAvailable(): bool - check is RPC client available
getBalance(): string - get wallet balance
getNewAddress($config = null): string - get new address
isValidAddress(string $address): bool - check is an address is valid
isOwningAddress(string $address): bool - checks if an address belongs to a wallet
getExploreAddressLink(string $address): string - returns a link to blockchain explorer for the address
getRate(
      string $currency = 'USD', 
      ?\O21\CryptoWallets\Interfaces\RateProviderInterface $provider = null
): float
// Returns the cryptocurrency exchange rate for the selected currency
getBestRate(
    string $currency = 'USD',
    int $limit = 60,
    \O21\CryptoWallets\Units\RateInterval $interval = RateInterval::Minutes,
    ?\O21\CryptoWallets\Interfaces\RateProviderInterface $provider = null
): float
// Returns the best cryptocurrency rate for the selected currency for a given period of time
estimateSendingFee(
    string $to,
    string $value,
    \O21\CryptoWallets\Interfaces\FeeInterface|string $fee
): string
// Estimates the fee amount required to send a transaction
send(
    string $to,
    string $value,
    \O21\CryptoWallets\Interfaces\FeeInterface|string $fee
): string
// Send funds from a wallet
getTransaction(string $hash): ?\O21\CryptoWallets\Interfaces\TransactionInterface - returns transaction from a wallet
getTransactions(int $count = 50, int $skip = 0): \Illuminate\Support\Collection; - returns transactions from a wallet
getTransactionsSinceBlock(string $block = ''): \Illuminate\Support\Collection; - returns transactions from a wallet
getTransactionsCount(): int - returns transactions count on a wallet
getExploreTransactionLink(string $hash): string - returns a link to blockchain explorer for the address
/**
 * @return \Illuminate\Support\Collection<\O21\CryptoWallets\Interfaces\FeeInterface>
 */
public function getNetworkFees(): Collection;
// Returns the recommended fees for the transaction
getDefaultBestRateLimit(): int - returns the default value for the period in the getBestRate function
getTypicalTransactionSize(): int - returns typical transaction size for a wallet
getSymbol(): string - returns symbol of a wallet
Also, some wallets have their own unique methods. Explore the interfaces \O21\CryptoWallets\Interfaces\BitcoindWalletInterface and \O21\CryptoWallets\Interfaces\EthereumWalletInterface
\O21\CryptoWallets\BitcoinWallet for bitcoin
\O21\CryptoWallets\LitecoinWallet for litecoin
\O21\CryptoWallets\EthereumWallet for ethereum