FAQ For Developers
-
What is Crypto APIs?
Crypto APIs is an infrastructure layer that radically simplifies the development of blockchain and crypto related applications by providing all needed blockchain APIs. We provide fast, reliable, and unified API solutions to access real-time and historical data from crypto market and blockchain protocols.
-
What products does Crypto APIs offer?
Crypto APIs has developed an API which offers six main products working in the blockchain and cryptocurrency area.
- Wallet as a Service - MPC digital wallet that incorporates the best features, security and authorization processes on the market.
- Blockchain Data - Unified access to complex and dynamic blockchain data from a single point using REST APIs.
- Blockchain Events - monitor and be notified for webhooks on top blockchain protocols using unified requests and callbacks
- Node as a Service - shared and dedicated node infrastructure for top blockchains using JSON-RPC.
- Key Management System - open-source key management system for secure HD wallet generation and storing of private keys.
- Blockchain Tools - a collection of API endpoints that provide an easy connection with blockchains and perform certain operations.
- Blockchain Automations - forward automatically any received coins or tokens to a preferred main deposit address.
- Market Data - real-time market data from top crypto exchanges in one place. -
How do Crypto APIs work?
We have created a thorough documentation which includes Guides, API documentations and more detailed technical information to help you get started. If you feel like you have any questions feel free to contact our team at any time!
-
Who are our intended customers?
Crypto APIs has designed its blockchain products for any SME, Enterprise or crypto-enthusiast who would be able to gain the most of them. You can check our website to see the crypto and blockchain products that we offer and for any questions, don't hesitate and contact our team.
-
What types of Wallets do you offer?
We offer three main Wallet types - Hosted, Shared and Custom. Depending on your preferences and business needs you can utilize whichever type you want.
-
What is your WaaS Key Management System?
WaaS Key Management depends on the Wallet type you select. There is the option for Crypto APIs to manage the keys alone, or to support a shared co-custody along with the customer. We can also offer various tailored options supported in our Custom Wallet.
-
Where is the Wallet located?
Your Wallet is located on advanced multi-distributed nodes. The setup can be with Crypto APIs alone, shared with the customer, or customized as per your business needs.
-
What is MPC?
MPC stands for Multi-Party Computation and represents an authorization method which incorporates TSS (Threshold Signature Scheme), distributed key shares for signing, and ensures that the parties involved can make complex joint computations without sharing any data among each other.
-
What does “Multi-distributed MPC nodes” mean?
We use multiple nodes to provide customers with a WaaS functionality. The nodes are based on the MPC method and can be distributed in various ways between Crypto APIs and the customer, where by default they are based with Crypto APIs. The distribution of the nodes is done in such a way that both parties must always sign. Enhanced by our custom quorum system, our nodes can be modified to work as a total M/N machines, whether you would prefer 2 or 20, server or mobile.
-
Do you use Multi-Sig?
No, our WaaS incorporates a better authorization method that has no single point of failure - MPC.
-
What kind of security do you offer?
The entire design and setup of our WaaS is designed to be highly secure. We provide security against spoofing and hacking attempts, the services of a 3rd Party Escrow provider, the MPC method along with TSS for secure transaction signing, whitelisting, AML and KYT functionalities, Backup and Recovery, and more.
-
Do you use private keys?
No. We do not use private keys with our Wallet's signing. Private keys are infamous for their single point of failure and are not secure enough. Instead, we use TSS which offers distributed key shares, or DKG. This method is more secure and renders the theft of one key share inconsequential.
-
How are transactions signed?
Transactions are signed through TSS distributed keys, by default in a 2/2 system. Additional setups can define the transaction signing through m/n nodes. Each signer possesses a key share with which they sign transactions all together (or as specified) and finally one single signature is generated in the final transaction record.
-
Do I need Crypto APIs’ approval to make a transaction?
No, this is not a Custodial Wallet and the client is always the first to make an action in the Wallet and sign a transaction.
-
Do you have backups?
Yes, we have developed a WaaS Backup and Recovery functionality which can also utilize an Open Source Recovery Tool by Crypto APIs.
-
What fees do you charge?
Crypto APIs does not charge its WaaS customers any transaction fees. Moreover, any other specific fees applicable on blockchains for transactions are up to 90% off with Crypto APIs.
-
Which blockchains do you support?
We support multiple top blockchain protocols. Moreover, thanks to MPC our WaaS is protocol-agnostic and hence can work flawlessly with any new blockchain that’s added.
-
Can I custom set my nodes and transactions?
Yes! Through our Governance layer and Quorum modification features you can set custom policies, transaction rules and M/N nodes to work with. For further tailoring of your Wallet you can use the Custom type.
-
What kind of blockchain information can I pull with Crypto APIs?
Crypto APIs offers a variety of blockchain and crypto information that can be pulled with its API - blocks, addresses, transactions, market cryptocurrency information, trading data, exchanges, etc.
-
Which blockchains networks are supported?
Crypto APIs supports the following blockchains:
- Bitcoin
- Ethereum
- XRP
- Litecoin
- TRON
- Bitcoin Cash
- Dash
- Dogecoin
- Ethereum Classic
- Zilliqa
- Zcash
- Binance Smart Chain
Check out our dedicated page with all supported blockchains, layers, tokens and exchanges. -
Where can I check for service updates?
You can subscribe for Crypto APIs updates from our website by clicking on the respective button and be notified when such occur, or simply view updates manually.
-
Where can I monitor service disruptions and issues?
On our website you can monitor the Crypto APIs for any service disruptions and status information.
-
Do you support testnet networks?
Yes. We also offer a specific subscription to be used over testnet networks.
-
Do you use one node per network?
We have a pool of nodes that we use, all hosted with us. If it happens one to go offline, there is always another one that will continue processing.
-
Do you use your own nodes or shared ones?
We don’t use shared nodes. The pool of nodes we use is owned by Crypto APIs.
-
Do you support internal transactions in ETH?
Yes, we support internal transactions in ETH.
-
Do you support token transfers in ETH?
Yes, we support token transfers in ETH.
-
How can I contact support?
You can contact our support team via Live Chat or Support Email. When you contact us, please use the email address associated with your Crypto APIs account, or the email added as a Team member in another Crypto APIs account.
-
Do you offer a free plan/demo for Crypto APIs?
We do not offer trial or demo for Crypto APIs products. We do however offer a free subscription instead, which can be used over testing networks.
-
Can I use more than one of Crypto APIs' products at once?
Of course. It's an All in One Subscription.
-
How do I upgrade/downgrade/cancel?
In your Dashboard you have the option to change your subscription tier and even cancel it if you want to.
-
I need more custom settings for my subscription, is it possible?
Yes. We have a Custom option for subscription. To set it up you can directly discuss it with one of our representatives by contacting our team.
-
What kind of support can I use? Do I have to pay?
Support is assured with Crypto APIs products in various levels. Each Crypto APIs product subscription plan offers a different tier of support, starting from email and up to an entire tech team at your disposal.
-
How do I manage my subscription?
When you register with Crypto APIs you gain access to a personalized Dashboard, where you can manage your subscription’s features, such as callbacks, credits, upgrade options, etc.
-
How can I know whether a specific subscription plan tier offers the data/functionality I need?
Each of our products has a detailed description of what it offers and how you can best use it. If you're not certain, you can always turn to our documentation or contact our team directly.
-
Can I use the same account for more than one Crypto APIs product?
No. A single account, or subscription, acts like a license to a single product.
-
What are Rate Limits and how do they work?
Rate Limits are a strategy to limit traffic to an API. It is the number of requests that can be made per second to the API. Each specific subscription plan of a Crypto APIs product offers a different rate limit per second, per minute and per hour. If you hit your rate limits the API will return the appropriate error response. You can always upgrade your subscription to receive a higher rate limiting.
-
What happens if I use up all of my credits?
Credits allow you to make calls to a Crypto APIs product. Depending on your subscription plan, you have a specific amount of daily credits you can use. Still, one credit doesn’t necessarily mean one request. When you hit your daily credit limit our API will return the respective response on hitting the quota and you won’t be able to make any calls until your credits are reset. Higher subscription plans offer a higher number of daily credits.
-
What is “Rate per second”?
This rate sets a limit for requests that can be made per second. The default equals 10, which means at most 10 requests can be done in a second. Still, this logic does not apply to all time frames.
For 1 minute time you can use up requests equal for max 30 seconds, which means that 1 minute allows max 300 requests. The same logic goes for 1 hour, where you can use up requests equal for max 30 min, which means 9 000 requests.
-
What is the difference between account-based and UTXO-based transactions?
These two types of transactions represent the main transaction models in blockchain today. Bitcoin utilizes UTXO, which stands for Unspent Transaction Output, and Ethereum utilizes account-based model. Both track database state.
UTXO is more abstract. Each transaction made will spend the output from previous transactions in order to create new outputs for future transactions. The excess coins are sent to a self-controlled address. Then, the balance of the specific wallet is calculated as the total sum of unspent transactions, as the wallet keeps track of all such transactions and their associated addresses owned by the user.
The account-based model is more simple and reminds of the common banking system. It represents the assets as balances in accounts where basically a single address is regarded as an account with a balance, and the transactions are simply transfers of assets from one account to another. Here transactions are separated from the output data.
Put in short, multiple UTXO transactions can be processed at the same time, which provides better scalability and parallel transactions, but at the same time the UTXO model is more complicated and can’t handle smart contract options well. The account-based model is more simple which makes it more efficient and can benefit programmers of complex smart contracts. But at the same time parallel transactions are more difficult with this model and it advises on reusing addresses which is not a good privacy practice. -
Why is my transaction not yet mined? Why is my transaction “stuck”?
A transaction that is “stuck” is one which has remained unconfirmed for a period of time and yet not yet mined. Possible reasons for a transaction to be queued for a long time like that and not mined could include: small transaction fees, dust outputs, being a double spend transaction of another transaction, spending from an unconfirmed transaction, and more.
-
My transaction is not yet mined. Will it be dropped and when?
The nodes on a blockchain need to verify transactions through the process of mining, in order for them to be confirmed, processed and added to the chain. Still, each node can decide for itself long to hold on unconfirmed transactions in their mempool. Ergo, there is no specific or default time after which an unconfirmed transaction is to be dropped. Still, it is observed that most nodes do drop unconfirmed and unmined transactions after two weeks. It is important to note that within those two weeks the coins don’t actually leave the customer’s wallet, but they are also not shown as “available”. To proceed you can always replace the transaction.
-
How and when can I replace my transaction?
Replacing a transaction is done when it is not yet mined or verified by the nodes. You can do that by simply spending the same amount of coins but with a higher transaction fee, so that the nodes pick it up. The unconfirmed transaction will eventually be dropped and this one will be processed, depending on the amount of the transaction fee.
-
Can I cancel my transaction?
Yes, but for Bitcoin-based transactions only. Such a transaction can be directly canceled only in the case it has been initially marked in the blockchain as “replaceable”, otherwise by default each Bitcoin transaction is “non replaceable”. In the case of other cryptocurrencies, the transaction has to be replaced with a higher fee, which can be regarded as a cancelation.
-
How can I pay for the service?
We accept payment methods such as debit and credit cards (Visa, MasterCard) by using our payment provider Stripe. We can also offer you an alternative way to pay for your subscription plan, such as wire transfers, pay with cryptocurrency or PayPal. For more information, contact our business development team at [email protected]
-
Do you offer discounts?
We may offer you a discount depending on your subscription. Only larger packages and subscriptions for a longer period of time (yearly) can apply for a discount. If you think your subscription is eligible for a Crypto APIs discount, contact our team right away!
-
Can I prepay for my subscription for longer?
Yes. For that purpose you can contact our team so that we can discuss how and for what period of time you would like to make your payment.
-
Are payments for Crypto APIs services recurring?
Yes, in the sense that paid subscriptions plans for Crypto APIs products require either regular monthly or yearly payments, or additional time range that suit your business.
-
How many credits does an endpoint cost?
You can see the credits cost for each endpoint in our official Documentation. Simply select the endpoint you want information for and the credits cost is displayed at the end of the page.
-
Do you have any SDKs prepared?
Yes. Currently, we offer the following SDKs:
- Node.js
- Java
- .NET
- PHP
- Python
- Golang
- Ruby
- Erlang
- Rust
More SDKs will be available later. For more information, please see our dedicated page. -
Can I get a faucet currency and how?
Yes. After subscribing for Crypto APIs, you get access to your dashboard. To get faucet, simply navigate to the Faucet from the menu where you have to enter your address. After that you will be given a certain amount of test currency on a daily basis.
-
Can I use whitelisting for IPs?
We offer IP Whitelisting to restrict API calls acceptance to be only from approved IP addresses. If you would like to use this feature, please contact us.
-
Is pricing data in my local currency supported?
We support a vast range of Fiat and Crypto currencies. To check if we support your local currency, you can see our Documentation.
-
I found a bug, what should I do?
If you find a bug you can report it to our team by sending an email with all details to [email protected]
-
I have a feature request/question, what do I do?
If you have a feature request or question you can always contact our team.
-
Is there any additional security I can apply to my account?
Yes, we recommend you enable Two Factor Authentication (2FA) and make sure you have a strong and complex password for your account.
-
How to set the proper nonce?
The address nonce in Ethereum represents the number of outgoing transactions regardless if they are already mined or pending. You can use our Get Address Nonce endpoint to get the needed details.
-
What will happen if I don't set the proper nonce?
If the expected nonce is 10 and you set 12, your transaction will remain in pending state until you create two transactions, where one is with nonce 10 and the other is with nonce 12. The transaction will not be mined till the gap is covered.
-
Can I send from multiple addresses to multiple addresses in ETH?
No, Ethereum is an account-based blockchain protocol which means transactions are always from A to B.
-
Can I send from multiple addresses to multiple addresses in BTC?
Yes, Bitcoin is a UTXO-based blockchain protocol which means that you can send from A1, A2, A3,.. to B1, B2, B3, etc.
-
Can I receive notifications on events?
Yes, by using our Blockchain Events product you can subscribe to a certain event and get a callback when this event occurs.
-
Is there a minimum/maximum Bitcoin amount allowed in a transaction?
Is there a minimum/maximum Bitcoin amount allowed in a transaction? The minimum amount of Bitcoin you can send in a transaction is 546 Satoshis, which is equivalent to 0.00000546 BTC. There is no maximum limit of BTC for a transaction.
-
Why am I not receiving an event callback (Blockchain events)?
A customer not receiving an event callback could be due to a few reasons:
- The event has not occurred yet. Callbacks for a certain event, for which the customer has subscribed for, will be received only when that event occurs, no matter how long it takes;
- When Crypto APIs 2.0 sends a request for a callback notification to the customer, a response to accept the callback (200 OK) is expected from them in the first 5 seconds. If that response is not sent, the callback will not be sent, as well, and it is considered as a failed request. -
Do you repeat callback requests if the first one fails?
Yes. We repeat the callback request a total of 10 times, excluding the initial request. The first retry will be sent 30 min later. After that, each following callback will take twice as long to be sent compared to the previous one. To see more information on our Callback retry system, please see here.