To understand the overall meaning of Blockchain API and how it can be applied, Be sure to generate an API Key from your Crypto APIs dashboard. Simple API for Blockchain Wallet users to send and receive bitcoin payments. · Installation · Create Wallet API · Create blockchain wallets programmatically. Receive Payments API V2. Accept bitcoin payments seamlessly. You provide an extended public key (xPub) and we generate a unique, unused corresponding address. GEORGE SOROS AND CRYPTO
If your favorite language is not listed above or if you prefers using raw queries, be sure to check our Postman Collection documentation. Currently, there's only one version of the API v1. Thus, here's an exhaustive list of blockchains and their corresponding resources:. We want everyone to try BlockCypher with as little friction as possible, which is why you don't need a token for any read-only GET calls. Once you have your token, you can append it to all your requests like any other URL parameter if you're using cURL, or through the appropriate method in the language SDK you're using.
The hourly rate limits reset on the top of the hour UTC. For example, if you're under the free tier, and you have used regular requests by UTC, you'll hit a rate limit until it resets at UTC. To request higher limits or SLAs beyond what's offered on the accounts page, please email us. Keep in mind the X-Ratelimit-Remaining attribute corresponds to the hourly rate limit associated with the endpoint you call e. All endpoints that can retrieve a single Object can be batched to return multiple objects.
If you're cURLing the API directly, batching simply requires appending each identifier to the previous one using a semicolon check the code pane for an example. The results are aggregated in a JSON array.
The other supported client SDKs batch differently, but each idiomatic to their respective language check the code pane examples in each library. We offer an automated faucets for BlockCypher's Test Chain. We recommend using BlockCypher's Test Chain for a variety of reasons:. In case you missed the Resources section , the BlockCypher Test Chain is accessible from this resource:.
To help facilitate automated testing in your applications, a faucet endpoint is available on BlockCypher's Test Chain. Calling the faucet endpoint, along with passing a valid address, will automatically createand propagatea new transaction funding the address with the amount you provide.
This example shows how to leverage the faucet to programmatically fund addresses, to test your applications. Some of you might be more interested in the endpoints themselves, in which case, feel free to skip to the next section. But for others, a section dedicated to all of BlockCypher's Objects might prove a useful overview, especially if you're new to Blockchain development in general. And in either case, this section provides a comprehensive reference for Objects in the API.
For each Object there's a description and a link to a germane API endpoint. Typically returned from the Chain API endpoint. A Block represents the current state of a particular block from a Blockchain. Typically returned from the Block Hash and Block Height endpoints. A TX represents the current state of a particular transaction from either a Block within a Blockchain , or an unconfirmed transaction that has yet to be included in a Block.
Typically returned from the Unconfirmed Transactions and Transaction Hash endpoints. A TXInput represents an input consumed within a transaction. Typically found within an array in a TX. A TXOutput represents an output created by a transaction. A TXConfidence represents information about the confidence that an unconfirmed transaction will make it into the next block.
Typically used as a return object from the Transaction Confidence Endpoint. A TXRef object represents summarized data about a transaction input or output. Typically found in an array within an Address object, which is usually returned from the standard Address Endpoint. An Address represents a public address on a blockchain, and contains information about the state of balances and transactions related to this address.
An AddressKeychain represents an associated collection of public and private keys alongside their respective public address. Generally returned and used with the Generate Address Endpoint. A Wallet contains a list of addresses associated by its name and the user's token. It can be used interchangeably with all the Address API endpoints, and in many places that require addresses, like when Creating Transactions. The name of a wallet must be characters long and cannot start with any characters that start an address for the currency contained in the wallet.
For example, bitcoin wallet names cannot start with '1' or '3'. An HDWallet contains addresses derived from a single seed. Like normal wallets, it can be used interchangeably with all the Address API endpoints, and in many places that require addresses, like when Creating Transactions. It also contains the hex-encoded public key when returned from the Derive Address in Wallet endpoint.
A AddressForward object represents a request set up through the Address Forwarding service. If you're new to blockchains, you can think of the blockchain itself as an immutable, distributed ledger. Each block in the blockchain is like a "page" in the ledger containing information about transactions between parties. A great place to start understanding the mechanics behind blockchains is the original Bitcoin whitepaper. General information about a blockchain is available by GET-ing the base resource.
For more detailed information about the data returned, check the Blockchain object. The returned object contains information about the block, including its height, the total amount of satoshis transacted within it, the number of transactions in it, transaction hashes listed in the canonical order in which they appear in the block, and more. For more detail on the data returned, check the Block object. You can also query for information on a block using its height, using the same resource but with a different variable type.
As above, the returned object contains information about the block, including its hash, the total amount of satoshis transacted within it, the number of transactions in it, transaction hashes listed in the canonical order in which they appear in the block, and more. If you're curious about the adoption of upgrade features on a blockchain, you can use this endpoint to get some information about its state on the network.
If you're new to blockchains, you can think of public addresses as similar to bank account numbers in a traditional ledger. The biggest differences:. The Address Balance Endpoint is the simplestand fastestmethod to get a subset of information on a public address. The returned object contains information about the address, including its balance in satoshis and the number of transactions associated with it.
The endpoint omits any detailed transaction information, but if that isn't required by your application, then it's the fastest and preferred way to get public address information. The default Address Endpoint strikes a balance between speed of response and data on Addresses.
It returns more information about an address' transactions than the Address Balance Endpoint but doesn't return full transaction information like the Address Full Endpoint. The Address Full Endpoint returns all information available about a particular address, including an array of complete transactions instead of just transaction inputs and outputs.
Unfortunately, because of the amount of data returned, it is the slowest of the address endpoints, but it returns the most detailed data record. The returned object contains information about the address, including its balance in satoshis, the number of transactions associated with it, and the corresponding full transaction records in descending order by block heightand if multiple transactions associated with this address exist within the same block, by descending block index position in block.
The Generate Address endpoint allows you to generate private-public key-pairs along with an associated public address. No information is required with this POST request. The returned object contains a private key in hex-encoded and wif-encoded format, a public key, and a public address.
The Generate Multisig Address Endpoint is a convenience method to help you generate multisig addresses from multiple public keys. After supplying a partially filled-out AddressKeychain object including only an array of hex-encoded public keys and the script type , the returned object includes the computed public address. The Wallet API allows you to group multiple addresses under a single name.
It only holds public address information and never requires any private keys. A normal Wallet can be created, deleted, and have addresses added and removed. The Wallet itself can have any custom name as long as it does not start with the standard address prefix 1, 3 or bc1 for Bitcoin Mainnet. We also offer support for HD Wallets, which make it easy to manage multiple addresses under a single name. All HD wallet addresses are derived from a single seed. HD Wallets can be created, deleted, and have new addresses generated.
However, unlike normal Wallets, addresses cannot be removed. When creating a wallet, one can optionally include one or more "subchain" indexes. These subchains can later be referenced when generating new addresses or sending txs. If no index is given when using the wallet with other APIs, it defaults to using the wallet's first sub chain.
Note that this is different from the default BIP32 wallet layout. If an address ahead of current addresses listed in an HD Wallet receives a transaction, it will be added, along with any addresses between the new address and the last used one. In general, using a wallet instead of an address in an API will have the effect of batching the set of addresses contained in the wallet. The following code examples should be considered serially; that is to say, the results will appear as if each API call were done sequentially.
As you'll see in the examples, if you're using HD Wallets, take care to use the appropriate resource e. For normal wallets, at minimum, you must include the name attribute and at least one public address in the addresses array. The encoding of the key is documented here. If not given, the wallet will derive address straight from the given extended pubkey. See BIP32 for more info. If successful, it will return the same Wallet or HDWallet object you requested, appended with your user token.
You can then query detailed information on individual wallets via their names by leveraging the Get Wallet Endpoint. You only need to include the additional addresses in a new addresses array in the object. If successful, it will return the newly modified Wallet , including an up-to-date, complete listing of addresses. It returns the addresses in a partially filled out Wallet which you'll find under the addresses attribute. If successful, it will return an HTTP status code with no return object.
If successful, it will returned the newly modified Wallet composed with an AddressKeychain. If successful, it will return an HDWallet but only with the newly derived address es represented in its chains field to limit the data transmitted; for the full address list after derivation, you can follow up this API call with the Get Wallet Addresses Endpoint.
If you're new to blockchains, the idea of transactions is relatively self-explanatory. Here's what's going on underneath the hood: a transaction takes previous "unspent transaction outputs" also known as UTXOs as "transaction inputs" and creates new "locking scripts" on those inputs such that they are "sent" to new addresses to become new UTXOs. While most of these public addresses are reference points for single private keys that can "unlock" the newly created UTXOs, occasionally they are sent to more exotic addresses through pay-to-script-hash , typically multisignature addresses.
The Transaction Hash Endpoint returns detailed information about a given transaction based on its hash. TXHASH is a string representing the hex-encoded transaction hash you're interested in querying, for example:. The returned object contains detailed information about the transaction, including the value transfered, date received, and a full listing of inputs and outputs.
The Unconfirmed Transactions Endpoint returns an array of the latest transactions relayed by nodes in a blockchain that haven't been included in any blocks. The returned object is an array of transactions that haven't been included in blocks, arranged in reverse chronological order latest is first, then older transactions follow.
To use BlockCypher's two-endpoint transaction creation tool, first you need to provide the input address es , output address, and value to transfer in satoshis. Provide this in a partially-filled out TX request object. As you can see from the code example, you only need to provide a single public address within the addresses array of both the input and output of your TX request object.
You also need to fill in the value with the amount you'd like to transfer from one address to another. If you'd like, you can even use a Wallet instead of addresses as your input. While this particular usage will differ between client libraries, the result is the same: the addresses within your wallet will be used as the inputs , as if all of them had been placed within the addresses array.
As a return object, you'll receive a TXSkeleton containing a slightly-more complete TX alongside data you need to sign in the tosign array. You'll need this object for the next steps of the transaction creation process. For the extra cautious, you can protect yourself from a potential malicious attack on BlockCypher by validating the data we're asking you to sign.
Unfortunately, it's impossible to do so directly, as pre-signed signature data is hashed twice using SHA With your TXSkeleton returned from the New Transaction Endpoint, you now need to use your private key s to sign the data provided in the tosign array. Digital signing can be a difficult process, and is where the majority of issues arise when dealing with cryptocurrency transactions. We are working on integrating client-side signing solutions into our libraries to make this process easier.
You can read more about signing here. In the mean time, if you want to experiment with client-side signing, consider using our signer tool. Once you've finished signing the tosign array locally, put that hex-encoded data into the signatures array of the TXSkeleton.
Signature and public key order matters, so make sure they are returned in the same order as the inputs you provided. Signing and creating transactions can be one of the trickiest parts of using blockchains in your applications. By default, we allow unconfirmed UTXOs as inputs when creating transactions. We will compute change and fees the same way. Fees in cryptocurrencies can be complex. We provide 2 different ways for you to control the fees included in your transactions:.
To learn more about fees, bitcoinfees. You'll notice this used to powerful effect in the section on Multisig Transactions. These are the possible script types:. If you'd prefer to use your own transaction library instead of the recommended path of our two-endpoint transaction generation we're still happy to help you propagate your raw transactions. Simply send your raw hex-encoded transaction to this endpoint and we'll leverage our huge network of nodes to propagate your transaction faster than anywhere else.
If you'd like, you can use the decoded transaction hash alongside an Event to track its progress in the network. We also offer the ability to decode raw transactions without sending propagating them to the network; perhaps you want to double-check another client library or confirm that another service is sending proper transactions. This allows you to double check the which input you are spending and the value transfered. If it succeeds, you'll receive your decoded WitnessToSignTx object. Multisignature transactions are made simple by the method described in the Creating Transactions section, but they deserve special mention.
In order to use them, you first need to fund a multisignature address. The code example demonstrates how the partially filled TX request object would appear. If it returns with an HTTP Status Code , then your multisignature address via a pay-to-script-hash address is funded.
Once funded, you might want to programmatically spend the money in the address at some point. Here the process is similar, but with the inputs and outputs reversed. Then you'd need to return each piece of data signed twice, preserving order between signatures and pubkeys, resulting in four elements for the signatures and pubkeys arrays:. By operating a well-connected node, we collect a lot of information about how transactions propagate; for example, our Confidence Factor relies on this connectivity.
With this endpoint, you can leverage our connectivity to get an approximation of a transaction's location of origin. TXHASH is a string representing the hex-encoded transaction hash you're interested in querying for propagation information. The return object is described below:.
You can get a live view of unconfirmed transaction propagation analysis on Bitcoin by connecting to our Transaction Propagation WebSocket, at the following address:. As soon as an unconfirmed transaction hits 10 peers, we send the object described above through this WebSocket.
One of the things that makes BlockCypher's API uniquely powerful is our ability to accurately predict the likelihood of an attempted double-spend succeeding against a transaction; this percentage probability is optionally included within the confidence attribute on any unconfirmed transaction returned by the Transaction Hash Endpoint when using the includeConfidence flag, in addition to the explicit Transaction Confidence Endpoint detailed below. So what does that confidence attribute actually mean?
In simpler terms, if an unconfirmed transaction returns a confidence factor of By design, we're conservative. As you may have gathered from the frequency of links to this feature in these docs, we're exceptionally proud of the work we've done to build this feature and provide it to our users. And that pride extends to our own confidence in our confidence product. We've leveraged this product internally on a major feature: our live block explorer visually shows confidence intervals on unconfirmed transactions directly.
Check out a live view of bitcoin and click on one of the most recent unconfirmed transactions. There are a host of factors that go into our confidence calculation, but you can broadly organize them into two categories. The shape of transactions refers to aspects of transactions that don't vary with time time-invariant in our model.
The behavior of transactions refers to aspects of transactions that do vary with time time-variant in our model. On the shape side of our model, we ask a number of questions about a transaction: How is it structured? What are its inputs and outputs? What's its signature type?
Broadly speaking, without knowing anything about the network, does it look like this transaction will be confirmed soon? The behavior part of our model primarily focuses on how a transaction propagates through the network.
In order to model this correctly, you need both a great connection to the network and a lot of past data, which we have. By monitoring transaction propagation, the number of nodes that have received it, and how quickly they received it, we can calculate its probability to be the "winning" transaction at any given point in time, if a double-spend was attempted. The result is a robust and reliable metric for judging unconfirmed transaction confidence, especially when used in concert with webhooks and websockets.
Our work here is based on several public research results in addition to our own in-depth follow-up research, which you can read about here. We are constantly improving our confidence model, and we always publish our findings when we do. The returned TXConfidence object contains the all-important confidence percentage, receive count and more.
You can find an unconfirmed transaction hash from our block explorer here. Cryptocurrency addresses, transactions, and blocks are extremely powerful, but the labels they employ can be That's why we have a Metadata API, allowing both public and private key-value storage against addresses, transactions, and blocks.
The Metadata API supports both public and private key-value storage. In both cases, setting metadata requires use of a token if you haven't already, you can register for one here. Public metadata is immutable ; once set, it cannot be modified or deleted. If you accidentally set public metadata and need it deleted, contact us. Also, as implied by the name, it's openly accessible to the whole worldregardless of whether they have a token or not.
Consequently, private metadata is associated and only accessible with your user token. The methods for interacting with metadata are outlined below. If another key with the same name already exists under your private metadata store, supplying a new value will replace it. New key-value pairs will be added without replacing prexisting key-value pairs. Blockchains are about transferring value and ownership, so why can't that value extend beyond a blockchain's native token? Thanks to the possibility of embedding arbitrary data through null-data outputs, a blockchain can!
However, the act of creating these alternate forms of valueand choosing a format that was universally readablecan be fraught with difficulty. We built our Asset API to simplify that process. Now instead of spelunking through a blockchain's native transactions and interpreting them yourself, you can utilize this set of APIs to easily issue, check, and transfer assets.
This set of endpoints currently leverages the Open Assets Protocol , a simple, robust method of embedding assets across any blockchain that supports null-data outputs. Asset addresses are just like regular bitcoin addresses, and are generated from a private-public keypair. They only differ by a prefix ex: 'a' for instead of '1' to distinguish them.
Note that while it returns an Address object, anything that would have represented "satoshis" now represents "amount of asset. One of the well-known benefits of cryptocurrency is the ability to allow users to partake in online commerce without necessarily requiring extensive setup barriers, like registering new accounts. In that spirit, our Address Forwarding API is the easiest way to acceptand consolidatepayments securely without forcing your users to create accounts and jump through unnecessary loops.
It's also a generic way to automatically transfer value from one address to another. While there are many possible use cases, the two we hear most about are:. We do not take a fee on address forwarding, other than the required miner fee which depends on network conditions; forwards are free.
However, as part of your own services, you can include a fee either fixed or a percentage that will also be automatically transfered to your own address in the same transaction. Fee-based business models are thus easily achieved, and moreover, easily auditable via the blockchain. First, to create an address forwarding address, you need to POST a partially filled AddressForward object to the payment creation endpoint.
You can see more details about these options in the AddressForward object details. This returns the full array of your currently active address forwarding addresses, based on your token. By default, this endpoint only returns the first address forwards.
If you have more, you can page through them using the optional start parameter. Blockchains are highly transactional systems. Many usage patterns require knowing when an event occurs: i. Instead of requiring you to continuously poll resources, we provide push APIs to facilitate those use cases, and support both WebSockets and WebHooks.
WebSockets are typically used in client applications when a server is not already running: e. WebHooks are the most reliable way to get event notifications but requires running a server to receive the callbacks. We automatically retry HTTP requests 5 times. We support a number of different event types, and you can filter your notification requests depending on how you structure your Event request object.
A regular ping i. We retry individual payloads to your url five times; if one fails, we wait exponentially between retries: 1 second, 2s, 4s, 8s, 16s. Using a partially filled out Event , you can create a WebHook using this resource. Check the Event object description and types of events to understand the options available for your events. If successful, it will return the Event with a newly generated id. This resource deletes an active Event based on its id. Remember to include your token, or the request will fail.
To guarantee the origin and integrity of the webhook data, webhooks can optionally be signed by our servers. An optional JSON attribute called "signkey" can be provided with the webhook when created to either:. Once the "signkey" attribute is set on a webhook, all webhook requests will be signed following the shaecdsa scheme of the HTTP signatures specification. This section list all the updates in reverse chronological order. We support the new bech32m address format for v1 witness.
This is fixed. We've added new filters possibilities to the Unconfirmed Transactions Endpoint. The data endpoint no longer exists as it was uneconomical and thus non functional since a long time. BlockCypher Node. We've added the virtual size vsize for segwit transaction. For regular non-segwit transaction the vsize is the same as the size. This is how you can see how much fees you are saving by using segwit. Developers 0. Sorry, no developers found for this API. API Mashups 0. Sorry, no mashups for this API.
Related Articles 2. Cryptocurrencies such as Bitcoin, Ethereum, Litecoin, and Ripple are on the cusp of disrupting the financial sector. Developers looking to create applications that mine, store, buy, sell, or trade cryptocurrency need suitable APIs. Here, we highlight 10 popular ones found on ProgrammableWeb.
Cryptocurrency , Bitcoin , Blockchain. Also added were several client libraries for use with Datadog API. Funding , Cryptocurrency. Promoted Listings. The API offers data about products and Products REST v1. The API offers methods to manage orders, products, accounts, activity, offset links, emission Images REST v1. Axesso Zalando Data Service.
Axesso Zalando Data Service API provides real-time data about product details, keyword search result and reviews from the german online shop Zalando.
CRYPTOCURRENCY MINING VENTURE CAPITAL
Bitcoin api key blockchain how to trade bitcoin in qatarBitFinex Bot - How to get BitFinex API Keys to Run a Crypto Trading Bot
VIRTUAL BITCOIN MINING IS A REAL WORLD ENVIRONMENTAL DISASTER
Bitcoin api key blockchain cryptocurrency news app android🔗 BEST BLOCKCHAIN APIS - THE ULTIMATE LIST
Confirm. join what do miners do in ethereum help
Remarkable topic scienceguy reddit ethereum criticising write
Следующая статья can i pay with bitcoins on amazon