The Blockchain API
- API version: null
- Build date: 2022-08-15T09:33:08.779026-07:00[America/Los_Angeles]
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.
Automatically generated by the OpenAPI Generator
Building the API client library requires:
- Java 1.7+
- Maven (3.8.3+)/Gradle (7.2+)
To install the API client library to your local Maven repository, simply execute:
mvn clean install
To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:
mvn clean deploy
Refer to the OSSRH Guide for more information.
Add this dependency to your project's POM:
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>openapi-java-client</artifactId>
<version>null</version>
<scope>compile</scope>
</dependency>
Add this dependency to your project's build file:
repositories {
mavenCentral() // Needed if the 'openapi-java-client' jar has been published to maven central.
mavenLocal() // Needed if the 'openapi-java-client' jar has been published to the local maven repo.
}
dependencies {
implementation "org.openapitools:openapi-java-client:null"
}
At first generate the JAR by executing:
mvn clean package
Then manually install the following JARs:
target/openapi-java-client-null.jar
target/lib/*.jar
Please follow the installation instruction and execute the following Java code:
// Import classes:
import org.openapitools.client.ApiClient;
import org.openapitools.client.ApiException;
import org.openapitools.client.Configuration;
import org.openapitools.client.auth.*;
import org.openapitools.client.models.*;
import org.openapitools.client.api.CcPaymentApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.blockchainapi.com/v1");
// Configure API key authorization: APIKeyID
ApiKeyAuth APIKeyID = (ApiKeyAuth) defaultClient.getAuthentication("APIKeyID");
APIKeyID.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKeyID.setApiKeyPrefix("Token");
// Configure API key authorization: APISecretKey
ApiKeyAuth APISecretKey = (ApiKeyAuth) defaultClient.getAuthentication("APISecretKey");
APISecretKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APISecretKey.setApiKeyPrefix("Token");
CcPaymentApi apiInstance = new CcPaymentApi(defaultClient);
String projectId = "project_WDQskRIfHQxj53N5mk5K"; // String | The ID of the project. Created and returned when a project is created.
String paymentIdentifier = "[\"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 {
CCPayment result = apiInstance.getCCPayment(projectId, paymentIdentifier);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling CcPaymentApi#getCCPayment");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
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
Authentication schemes defined for the API:
- Type: API key
- API key parameter name: APIKeyID
- Location: HTTP header
- Type: API key
- API key parameter name: APISecretKey
- Location: HTTP header
It's recommended to create an instance of ApiClient
per thread in a multithreaded environment to avoid any potential issues.