Our vision is to make it super easy to interact with the decentralized web. We want you to be able to do this in any coding language and do it easily and quickly.
You're a key part of our vision. We love feature requests! <a href="#section/Feature-Requests">Make one!
To use the API, you simply need to create an API key pair.
Doing so takes less than a minute. Simply go to <a target="_blank" href="https://dashboard.blockchainapi.com\">the dashboard, create an account, and generate a key pair. You can now use this pair to make API requests. You must create your first pair via the dashboard.
Got a feature request? Submit it as an issue on <a target="_blank" href="https://github.com/BL0CK-X/the-blockchain-api/issues/new/choose\">our GitHub repo or email us.
Text / Call: +1 (415) 888 4745 Email us: [email protected] Join our Discord Follow us on Twitter Star us on GithubCommon dogma is to never give out your seed phrase. We agree. It's a matter of security, and anyone who has your seed phrase can irreversibly empty your wallet.
When using an API endpoint that requires a seed phrase, we highly recommend that users use or create a wallet that they do not use as their primary wallet.
How you make this work depends on what you're doing. If you're minting an NFT for example, we recommend creating a new wallet and then transferring just enough SOL to that wallet to mint the NFT. This is possible on Solana because such transactions cost less than a penny. We will have more tutorials in the future that make it easier for you to be secure when using our API.
We have easy-to-use endpoints for <a href="#tag/Solana-Wallet/paths/1solana1wallet1secret_recovery_phrase/post">creating a new seed phrase and then <a href="#tag/Solana-Wallet/paths/1public_key/post">deriving a public key to enable you to transfer to that new wallet.1solana1wallet
Let's have a constructive dialog about this. Feel free to <a href="#section/Contact">contact us. I made a video discussing this matter <a target="_blank" href="https://youtu.be/m9unUb8Z9qU\">here.
Note: We have had a couple of individuals harrass and threaten us. These individuals did not try our API or speak to anyone who has used it. They simply saw that we require a seed phrase for certain endpoints and figured that the proper response was to attack us. (I explain why we do <a target="_blank" href="https://youtu.be/m9unUb8Z9qU\">here.) Such harrassment and threats are not only harmful, but they are also illegal, and we will report offenders. Do not harrass us. Rather, feel free to discuss your concerns with us and we will be more than happy to work with you to come up with a solution.
Each user receives 50,000 free credits each month. Each endpoint costs a certain amount credits. Scroll below to any endpoint (i.e., function) to see how much each endpoint costs. (Or CMD+F Cost: 0 Credit
, for example)
You can learn more about our pricing <a href="https://dashboard.blockchainapi.com/billing\" target="_blank">here.
We frequently do custom plans. If our pricing doesn't work for you, <a href="#section/Contact">contact us.
If you have questions, concerns, feedback, or ideas, <a href="#section/Contact">contact us.
We have examples using both our <a href="https://github.com/BL0CK-X/the-blockchain-api/tree/main/examples\" target="_blank">Python wrapper and our JavaScript wrapper here.
We have built a custom <a href="https://github.com/BL0CK-X/the-blockchain-api-python-wrapper\" target="_blank">Python wrapper.
pip install theblockchainapi
We also have published a <a href="https://github.com/BL0CK-X/theblockchainapi-javascript-wrapper\" target="_blank">JavaScript Wrapper.
npm install theblockchainapi
We also have auto-generated wrappers for the following languages:
- <a href="https://github.com/BL0CK-X/theblockchainapi-go-wrapper\" target = "_blank">Go
- <a href="https://github.com/BL0CK-X/theblockchainapi-java-wrapper\" target = "_blank">Java
- <a href="https://github.com/BL0CK-X/theblockchainapi-kotlin-wrapper\" target = "_blank">Kotlin
- <a href="https://github.com/BL0CK-X/theblockchainapi-php-wrapper\" target = "_blank">PHP
- <a href="https://github.com/BL0CK-X/theblockchainapi-swift-wrapper\" target = "_blank">Swift5
- <a href="https://github.com/BL0CK-X/theblockchainapi-typescript-wrapper\" target = "_blank">TypeScript
- <a href="https://github.com/BL0CK-X/theblockchainapi-csharp-wrapper\" target = "_blank">C#
- <a href="https://github.com/BL0CK-X/theblockchainapi-dart-wrapper\" target = "_blank">Dart
If you would like a different language as well, submit an issue <a href="https://github.com/BL0CK-X/theblockchainapi-wrappers/issues/new\" target="_blank">here.
If you run into any bugs with the wrappers, submit an issue <a href="https://github.com/BL0CK-X/theblockchainapi-wrappers/issues/new\" target="_blank">here.
PHP 7.3 and later. Should also work with PHP 8.0 but has not been tested.
To install the bindings via Composer, add the following to composer.json
:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
}
],
"require": {
"GIT_USER_ID/GIT_REPO_ID": "*@dev"
}
}
Then run composer install
Download the files and include autoload.php
:
<?php
require_once('/path/to/OpenAPIClient-php/vendor/autoload.php');
Please follow the installation procedure and then run the following:
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure API key authorization: APIKeyID
$config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setApiKey('APIKeyID', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('APIKeyID', 'Bearer');
// Configure API key authorization: APISecretKey
$config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setApiKey('APISecretKey', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('APISecretKey', 'Bearer');
$apiInstance = new OpenAPI\Client\Api\CCPaymentApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(),
$config
);
$project_id = project_WDQskRIfHQxj53N5mk5K; // string | The ID of the project. Created and returned when a project is created.
$payment_identifier = ["payment_97jA1szpVjrSI5EvOb5zxNQFq5CfrC"]; // string | You can supply either `payment_id` or `payment_validation_code`. The `payment_id` is only visible by you and uniquely identifies a payment. The `payment_validation_code` is shown exclusively to the customer and the owner of the project. It can be used to redeem a payment. You can verify a payment by pulling the payment with the `payment_validation_code`.
try {
$result = $apiInstance->getCCPayment($project_id, $payment_identifier);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling CCPaymentApi->getCCPayment: ', $e->getMessage(), PHP_EOL;
}
All URIs are relative to https://api.blockchainapi.com/v1
Class | Method | HTTP request | Description |
---|---|---|---|
CCPaymentApi | getCCPayment | GET /checkout/v1/project/{project_id}/payment/{payment_identifier} | Get a payment |
CCPaymentApi | listAllCCPayments | GET /checkout/v1/payments | List all payments |
CCPaymentApi | listCCProjectPayments | GET /checkout/v1/project/{project_id}/payments | List a project's payments |
CCProjectApi | createCCProject | POST /checkout/v1/project | Create a project |
CCProjectApi | deleteCCProject | DELETE /checkout/v1/project/{project_id} | Delete a project |
CCProjectApi | getCCProject | GET /checkout/v1/project/{project_id} | Get a project |
CCProjectApi | listCCProjects | GET /checkout/v1/projects | List projects |
CCProjectApi | updateCCProject | PUT /checkout/v1/project/{project_id} | Update a project |
CCWebhookApi | getCCWebhook | POST /webhook/v1/project/{project_id}/webhook/{webhook_identifier} | Get a webhook |
CCWebhookApi | listCCProjectWebhooks | POST /webhook/v1/project/{project_id}/webhooks | List project's webhooks |
CCWebhookApi | validateCCWebhook | POST /webhook/v1/project/{project_id}/webhook/{webhook_identifier}/validate | Validate a webhook |
NameServiceApi | getBlockchainIdentifierFromName | POST /{blockchain}/{network}/name_service/name_to_blockchain_identifier | Get the identifier |
NameServiceApi | getNameForBlockchainIdentifier | POST /{blockchain}/{network}/name_service/blockchain_identifier_to_name | Get the name |
SolanaAccountApi | solanaGetAccount | GET /solana/account/{network}/{public_key} | Get the details of an account on Solana |
SolanaAccountApi | solanaGetAccountIsCandyMachine | GET /solana/account/{network}/{public_key}/is_candy_machine | Get if account is candy machine |
SolanaAccountApi | solanaGetAccountIsNFT | GET /solana/account/{network}/{public_key}/is_nft | Get if account is NFT |
SolanaCandyMachineApi | solanaGetAllNFTsFromCandyMachine | GET /solana/nft/candy_machine/{network}/{candy_machine_id}/nfts | Get CM's NFTs |
SolanaCandyMachineApi | solanaGetCandyMachineMetadata | POST /solana/nft/candy_machine/metadata | Get a CM's metadata |
SolanaCandyMachineApi | solanaListAllCandyMachines | GET /solana/nft/candy_machine/list | List all CMs |
SolanaCandyMachineApi | solanaSearchCandyMachines | POST /solana/nft/candy_machine/search | Search CMs |
SolanaNFTApi | solanaCreateNFT | POST /solana/nft | Create an NFT on Solana |
SolanaNFTApi | solanaGetNFT | GET /solana/nft/{network}/{mint_address} | Get an NFT's metadata |
SolanaNFTApi | solanaGetNFTMintFee | GET /solana/nft/mint/fee | Get the NFT mint fee |
SolanaNFTApi | solanaGetNFTOwner | GET /solana/nft/{network}/{mint_address}/owner | Get owner of an NFT |
SolanaNFTApi | solanaGetNFTOwnerAdvanced | GET /solana/nft/{network}/{mint_address}/owner_advanced | Get owner of an NFT (advanced) |
SolanaNFTApi | solanaGetNFTsCandyMachineId | POST /solana/nft/candy_machine_id | Get the ID of the candy machine of an NFT |
SolanaNFTApi | solanaSearchNFTs | POST /solana/nft/search | Search NFTs on Solana |
SolanaSPLTokenApi | solanaGetSPLToken | GET /solana/spl-token/{network}/{public_key} | Get SPL token metadata |
SolanaTransactionApi | solanaGetTransaction | GET /solana/transaction/{network}/{tx_signature} | Get the details of a transaction made on Solana |
SolanaWalletApi | solanaDeriveAssociatedTokenAccountAddress | GET /solana/wallet/{public_key}/associated_token_account/{mint_address} | Derive an associated token account address |
SolanaWalletApi | solanaDerivePrivateKey | POST /solana/wallet/private_key | Derive private key |
SolanaWalletApi | solanaDerivePublicKey | POST /solana/wallet/public_key | Derive public key |
SolanaWalletApi | solanaGeneratePrivateKey | POST /solana/wallet/generate/private_key | Generate private key |
SolanaWalletApi | solanaGenerateSecretRecoveryPhrase | POST /solana/wallet/generate/secret_recovery_phrase | Generate secret phrase |
SolanaWalletApi | solanaGetAirdrop | POST /solana/wallet/airdrop | Get an airdrop on devnet |
SolanaWalletApi | solanaGetBalance | POST /solana/wallet/balance | Get wallet's balance in SOL or any SPL |
SolanaWalletApi | solanaGetNFTsBelongingToWallet | GET /solana/wallet/{network}/{public_key}/nfts | Get address's NFTs |
SolanaWalletApi | solanaGetTokensBelongingToWallet | GET /solana/wallet/{network}/{public_key}/tokens | Get address's tokens and respective balances |
SolanaWalletApi | solanaGetWalletTransactions | GET /solana/wallet/{network}/{public_key}/transactions | Get address's associated transaction signatures |
SolanaWalletApi | solanaTransfer | POST /solana/wallet/transfer | Transfer SOL, a token, or an NFT to another address |
TokenApi | getTokenMetadata | GET /{blockchain}/{network}/token/{token_blockchain_identifier} | Get a token's metadata |
TokenApi | listAllTokens | GET /{blockchain}/{network}/all_tokens | List all tokens |
TransactionApi | getTransaction | GET /{blockchain}/transaction/{network}/{transaction_blockchain_identifier} | Get the details of a transaction made on a blockchain |
WalletApi | derivePrivateKey | POST /{blockchain}/wallet/private_key | Derive private key |
WalletApi | deriveWalletIdentifier | POST /{blockchain}/wallet/identifier | Derive wallet identifier |
WalletApi | generatePrivateKey | POST /{blockchain}/wallet/generate/private_key | Generate private key |
WalletApi | generateSeedPhrase | POST /{blockchain}/wallet/generate/secret_recovery_phrase | Generate seed phrase |
WalletApi | getAirdrop | POST /{blockchain}/wallet/airdrop | Get an airdrop |
WalletApi | getBalance | POST /{blockchain}/wallet/balance | Get wallet's balance of X |
WalletApi | transfer | POST /{blockchain}/wallet/transfer | Transfer crypto, a token, or an NFT to another wallet |
- ATAResponse
- Account
- AccountContext
- AccountIsCandyMachine
- AccountIsNFT
- AccountValue
- AirdropRequest
- AvalancheCChainPublicAddress
- AvalancheXPChainPublicAddress
- B58PrivateKey
- BSCPublicAddress
- BalanceRequest
- BalanceResponse
- CCPayment
- CCPaymentBlockchainPaymentDetails
- CCProject
- CCProjectCreateRequest
- CCProjectCreateRequestCustomerIdToCollect
- CCProjectCreateRequestPayoutMethod
- CCWebhook
- CCWebhookValidateRequest
- CandyMachineSearchRequest
- DoubleTransferResponse
- EthereumPublicAddress
- EthereumTransaction
- EthereumTransactionCompiledResponse
- EthereumTransactionMadeResponse
- FeePayerWallet
- GeneralAirdropRequest
- GeneralB58PrivateKey
- GeneralBalanceRequest
- GeneralBalanceResponse
- GeneralFeePayerWallet
- GeneralGeneratePrivateKeyResponse
- GeneralPrivateKey
- GeneralSecretPhrase
- GeneralSecretRecoveryPhrase
- GeneralTransaction
- GeneralTransactionMadeResponse
- GeneralTransactionResponse
- GeneralTransferRequest
- GeneralWallet
- GeneratePrivateKey
- GenerateSeedPhraseRequest
- GetAllNFTsResponse
- GetAllNFTsResponseMintedNfts
- GetAllNFTsResponseUnmintedNfts
- GetCandyMachineIDRequest
- GetCandyMachineIDResponse
- GetCandyMetadataErrorResponse
- GetCandyMetadataRequest
- GetCandyMetadataResponse
- GetCandyMetadataResponseCreators
- GetPublicKeyRequest
- GetSPLTokenResponse
- HexPrivateKey
- InputBlockchainIdentifier
- InputName
- ListNFTsResponse
- NFT
- NFTCollection
- NFTData
- NFTMintErrorResponse
- NFTMintFee
- NFTMintRequest
- NFTOwnerAdvancedResponse
- NFTOwnerAdvancedResponseContract
- NFTOwnerResponse
- NFTSearchRequest
- NFTSearchResponse
- NearPublicKey
- PrivateKey
- PublicKey
- SecretPhrase
- SecretRecoveryPhrase
- SolanaPublicKey
- SolanaTransaction
- SolanaTransactionCompiledResponse
- SolanaTransactionMadeResponse
- SupplyWalletRequest
- TokenMetadataResponse
- Transaction
- TransactionResult
- TransferRequest
- TransferResponse
- TransferResponseCompiled
- Wallet
- WalletIdentifiers
- Type: API key
- API key parameter name: APIKeyID
- Location: HTTP header
- Type: API key
- API key parameter name: APISecretKey
- Location: HTTP header
To run the tests, use:
composer install
vendor/bin/phpunit
This PHP package is automatically generated by the OpenAPI Generator project:
- API version:
null
- Build package:
org.openapitools.codegen.languages.PhpClientCodegen