The reference implementation can talk to one or more instances of bitcoind nodes. Each node that is being added to the Merchant API has to have zmq notifications enabled (pubhashblock, pubinvalidtx, pubdiscardedfrommempool). Welcome to the BitcoinAverage API! The world's best and longest running Cryptocurrency price API provider. These APIs can be used to gather real-time, OHLC, volume and historical price data for the following Cryptocurrencies: Bitcoin (BTC), Bitcoin Cash (BCH), Litecoin (LTC), Ethereum (ETH), Dash (DASH), Ripple (XRP), Monero (XMR) plus many more. One of the recent additions to the API is: bitcoind getnetworkhashps This is not documented in the wiki to which your question links. While the source code is indeed the ultimate reference, in practice, bitcoind help is the shortest path to most answers. Here is the entry for lockunspent.
Api reference bitcoindGitHub - bitcoin-sv/merchantapi-reference: Merchant API reference implementation
Returns a list of currencies and their weights that are used to produce our Global Bitcoin Price Index. Returns conversion from start currency to resulting currency. Only conversion from fiat to crypto, or vice verca are supported. Conversion from crypto to crypto is not supported. Takes a transaction hash and returns a price for the day the transaction was conducted. The price is for the provided symbol. An example for subscribing to the single ticker endpoint would be:.
After authentication is complete the websocket connection is established, you may then subscribe to the required channel. Available channels are listed below, they are single ticker, multiple ticker, single exchange and multiple exchanges. Every time you send a new subscription message, the response data switches to the latest currency. You will always receive data only for the currency in your last subscription message.
This channel returns data for multiple currencies. They are grouped by their market, local , global , crypto and tokens. The unsubscribe message does not close the websocket connection but only removes the unsubscribed currency from the response. Every time you send a new subscription message, the response data switches to the latest exchange. You will always receive data only for the exchange in your last subscribe message.
The unsubscribe message does not close the websocket connection here but only removes the unsubscribed exchange from the response. Version 2 of our Websocket API that pushes realtime updates as soon as they happen instead on a set interval of seconds, depending on your plan. This allows for faster updates with less bandwidth because we push updates of only the prices that have changed. Updates are pushed in real time, so they depend on the activity of the markets.
For activelly traded cryptocurrencies like Bitcoin and Ethereum this could be less than a second, but for more obscure cryptocurrencies it could be minutes appart. The procedure for authenticating these websocket connections is the same as in version 1 except the urls are changed. An example for subscribing to the ticker channel would be:. After authentication is complete the websocket connection is established, you may then send your subscription message to the channel.
There are two channels, ticker and exchanges, that can be used to connect to one or more indices or exchanges respectively. This channel returns ticker data for multiple symbols grouped in symbol sets.
The symbols sets are local , global , crypto and tokens. Every time you send a new subscription message, the new symbols are added to the response in their symbol set. The unsubscribe message does not close the connect but removes symbols from the response. This channel returns data for multiple exchanges. Every time you send a new subscription message, the requested exchanges are added to the response. The unsubscribe message does not close the websocket connection but only removes the unsubscribed exchanges from the response.
Our Websocket API pushes realtime updates as soon as they happen instead on a set interval of seconds. For actively traded cryptocurrencies like Bitcoin and Ethereum this could be less than a second, but for more obscure cryptocurrencies it could be minutes apart. After the websocket connection is established you may send your subscription message to specify the channel and the subscription options.
The unsubscribe message does not close the connection but removes symbols from the response. This channel returns data for multiple exchanges symbols. Every time you send a new subscription message, the requested exchanges symbols are added to the response. The unsubscribe message does not close the websocket connection but only removes the unsubscribed symbols from the response. After the snapshot is sent, the channel will continue sending update events that represent the changes in the orderbook.
Every updated order in the updates field has the following format. The side value can be bids or asks representing the array where this order is located.
The amount is greater or equal to 0. If it is 0, then the order has been completed and is no longer part of the orderbook. If it is greater than 0 then this is the new amount for the given price and needs to be updated in the orderbook. In this example we're using our npm package that can be installed with: npm install bitcoinaverage. The current available plans are: Developer Startup Grow Dominate If an endpoint requires special permissions, the level required will be outlined.
Authentication All requests to our API must be authenticated with your public key. First register an account. Symbols supported in this set will comprise a Cryptocurrency against approximately fiat currencies. These are also known as our Currency Markets. The responses from this symbol set are shorter but still provide all essential market data. Price Symbols Ticker Returns a list of symbol sets and supported symbols for ticker endpoints.
Returns a string containing the address. Returns the current bitcoin address for receiving payments to this account. If [account] is not specified, returns the server's total available balance. If [account] is specified, returns the balance in the account. Returns data needed to construct a block to work on. Returns an object containing mining-related information: blocks currentblocksize currentblocktx difficulty errors generate genproclimit hashespersec pooledtx testnet.
Returns a new bitcoin address for receiving payments. If [account] is specified payments received with the address will be credited to [account]. This is for use with raw transactions, NOT normal use. Returns the total amount received by addresses with [account] in transactions with at least [minconf] confirmations.
If [account] not provided return will include all transactions to all accounts. It correctly handles the case where someone has sent to the address in multiple transactions. Keep in mind that addresses are only ever used for receiving transactions.
Works only for addresses in the local wallet, external addresses will always show 0. Returns details about an unspent transaction output UTXO. Note: it is not possible to delete or update a fee quote once it is published, but you can make it obsolete by publishing a new fee quote. Each node that is being added to the Merchant API has to have zmq notifications enabled pubhashblock, pubinvalidtx, pubdiscardedfrommempool.
For each transaction that is submitted to mAPI it can be set if the submiter should receive a notification of doublespend or merkle proof via callback URL. Each certificate must be exported as a Base encoded X. This step is required if callback endpoint uses SSL server certificate issued by untrusted CA such as self signed certificate. The docker images are automatically pulled from Docker Hub. Database updates are triggered upon application start or when tests are run.
Following table lists all configuration settings with mappings to environment variables. For description of each setting see Populate all environment variables under Deploying docker images. Skip to content. Merchant API reference implementation View license. Go back. Launching Xcode If nothing happens, download Xcode and try again.
Latest commit. Git stats 84 commits. Failed to load latest commit information. View code. Support For support and general discussion of both standards and reference implementations please join the following telegram group. For setting up development environment see bellow REST interface The reference implementation exposes different REST API interfaces an interface for submitting transactions implemented according BRFC Spec an admin interface for managing connections to bitcoin nodes and fee quotes Public interface Public interface can be used to submit transactions and query transactions status.
Issuer and audience were not validated. Rest dotnet run. View license. Releases 7 mapi-v1.