Cosmos SDK offers APIs for built-in modules using gRPC, REST, and Tendermint RPC. This project aims to provide simple REST APIs for data that default Cosmos SDK APIs can't provide.
This collection of custom APIs can be deployed as a Cloudflare Worker or compatible serverless platforms.
data-api.cheqd.io/supply/total
(also has an API endpoint alias on /
)
Just total supply of tokens, in main token denomination (CHEQ instead of ncheq
in our case)
Cryptocurrency tracking websites such as CoinMarketCap and CoinGecko require an API endpoint for reporting the total supply of tokens in the main/primary token denomination.
While this figure is available from Cosmos SDK's built-in /cosmos/bank/v1beta1/supply/ncheq
REST endpoint, this returns a JSON object in the lowest token denomination, which cannot be parsed by CoinMarketCap / CoinGecko.
data-api.cheqd.io/supply/circulating
Circulating token supply, in main token denomination (CHEQ instead of ncheq in our case)
Cryptocurrency tracking websites such as CoinMarketCap and CoinGecko require an API endpoint for reporting the circulating supply of tokens in the main/primary token denomination.
This figure is not available from any Cosmos SDK API, because the criteria for determining circulating vs "non-circulating" accounts is defined by CoinMarketCap.
This API calculates the circulating supply by subtracting the account balances of a defined list of wallet addresses ("circulating supply watchlist") from the total supply.
data-api.cheqd.io/supply/staked
Overall tokens staked, in CHEQ.
Provides the overall amount staked pulled from the block explorer.
data-api.cheqd.io/balances/vesting/<address>
Tokens that are still vesting for continuous/delayed vesting accounts, in CHEQ.
There is no Cosmos SDK API that returns balances that are yet to be vested for continuous or delayed vesting accounts.
data-api.cheqd.io/balances/vested/<address>
Tokens that have already vested for continuous/delayed vesting accounts, in CHEQ.
There is no Cosmos SDK API that returns balances that are already vested for continuous or delayed vesting accounts.
data-api.cheqd.io/balances/liquid/<address>
Tokens in continuous/delayed vesting accounts that can be converted to liquid balances, in CHEQ.
Tokens in continuous or delayed vesting accounts that can be converted to liquid balances. This is calculated as the sum of the following figures:
"Delegated free" balance (from the /cosmos/auth/v1beta1/accounts/<address>
REST API) or vested balance, whichever is higher
"Available" balance (if applicable)
"Reward" balance (if applicable)
data-api.cheqd.io/balances/total/<address>
Total account balance for specified account, in CHEQ.
The standard Cosmos SDK REST API for account balances returns JSON with the account balances along with its denomination, usually the lowest denomination. This is hard to parse in applications such as Google Sheets (e.g., to monitor the account balance by fetching a response from a REST API directly in Google Sheets). This API returns a plain number that can be directly plugged into such applications, without having to parse JSON.
Results filtered by threshold value: data-api.cheqd.io/arbitrage
Unfiltered results: data-api.cheqd.io/arbitrage/all
Returns current price of CHEQ token among different markets along with an evaluation of whether they are at risk of arbitrage opportunities.
The CHEQ token trades on multiple markets/exchanges (e.g., Osmosis, Gate.io, BitMart, LBank, Uniswap). This is typically established as CHEQ along with another token pair or currency.
Fluctuations in the exchange rate between CHEQ and other tokens pairs can give rise to opportunities for arbitrage. Having a significant market arbitrage among different exchanges creates a market inefficiencies. Extreme market inefficiencies result market failure and deadweight loss.
Having monitoring capabilities for arbitrage gives opportunities for the cheqd community to rectify potential liquidity issues and aware of exchange rate movements.
To alert a significant market arbitrages for CHEQ listings on different exchanges, we pull latest markets data from the CoinGecko API for cheqd's ticker page via our Market Monitoring API Monitor Markets API. If an arbitrage threshold is exceeded, a webhook trigger is sent to Zapier for alerting via different channels (such as Slack).
This frontend site was developed to work with Cloudflare Workers, a serverless and highly-scalable platform.
Originally, this project was discussed as potentially being deployed using a serverless platform such as AWS Lambda. However, AWS Lambda has a cold-start problem if the API doesn't receive too much traffic or is only accessed infrequently. This can lead to start times ranging into single/double digit seconds, which would be considered an API timeout by many client applications.
Using Cloudflare Workers, these APIs can be served in a highly-scalable fashion and have much lower cold-start times, i.e., in the range of less than 10 milliseconds.