API Tutorial (Backend)

Or how to implement the Kardia info API into your project

the API is available through api.kardiainfo.com if the response is yes It means that the API is up and running.

The API in its current state provides information about:

You can also request information about a specific token by adding the symbol of a token at the end of your request for example:

The API response for /tokens and /hist is an array of objects. for /tokens/kai or /hist/kai will be an object since you are only requesting for kai.

The API is rate limited to 600 requests every 10 minutes to ensure that spamming does not occur.

Example usage (Js):

//create tokens variable (array of objects)
var tokens=[];

//function that updates the tokens variable whenever called
async function getTokens() {
	var res = await fetch('https://api.kardiainfo.com/tokens');
	res = await res.json();
	tokens = res.tokens;

	console.log(tokens)
}
//runs the getTokens() function
getTokens();

After running this code the output in the console should look something like this:

Let's now look deeper into the tokens array and understand how we can use it. Within the array you can use a filter function to get a specific token by its id, name, symbol or contract address, it includes every single token traded on kaidex - at the time of writing this - 27 tokens.

Each of the tokens is an object which includes several fields - lets take a look at the example - SEN:

var sen;

async function getSen() {
	var res = await fetch('https://api.kardiainfo.com/tokens/sen');
	sen = await res.json();

	console.log(sen)
}
getSen();

as a result of making this request we can just get the sen object on its own. and here is how this response looks:

sen = {

    //The lower case SEN contract address
    contract: "0xb697231730c004110a86f51bff4b8dd085c0cb28"
    
    //The contract which is both upper and lower cased
    id: "0xb697231730C004110A86f51BfF4B8DD085c0CB28"
    
    //SEN's name
    name: "sleepearn.finance"

    //sleapearn.finance's symbol
    symbol: "SEN"
    
    //A description of SEN
    description: "SleepEarn Finance is a Decentralized, Yield Optimizer platform on KardiaChain that allows its users to earn compound interest on thei…"
    
    //Price for 1 SEN in USD
    price: 0.7407962294324505
    
    //SEN's price change in the last 24h in %
    dayChange: 3.1360070140112097
    
    //SEN's price change in the last 7d in %
    weekChange: -29.597013107980246
    
    //Total SEN supply
    supply: 1000000
    
    //Fully diluted Market cap (sen.mcap = sen.supply * sen.price)
    mcap: 741343.790775871
    
    //SEN's TVL (usd value locked in LPs)
    tvl: 242937.01145341157
    
    //SEN logo stored on kardia info an image 80x80 px
    logo: "https://api.kardiainfo.com/images/SEN.png"
    
    //SEN logo from KAI probably a larger size
    logoOriginal: "https://kardiachain-explorer.s3-ap-southeast-1.amazonaws.com/explorer.kardiachain.io/logo/b697231730C004110A86f51BfF4B8DD085c0CB28.png"
    
    //SEN's main group chat on telegram
    chat: "https://t.me/sleepearn"
    
    //SEN's website
    website: "https://sleepearn.finance/"
    
    //SEN Historic data where sen.histData[0] is current price
    //sen.histData[167] the price 1 week ago
    //Each of the array entries are 1 hour long rounded to nearest hour
    //so if now is 15:33:
    //sen.histData[0] is 15:33
    //sen.histData[1] is 15:00
    //sen.histData[2] is 14:00 and so on
    histData: [0.7407962294324505, 0.737528501928906, 0.7496378382877602, 0.7400697628733692, 0.7310618209793391, 0.7255699577425332, 0.716406554781029, 0.7143519168446483, 0.7179232100815036, 0.724873841561361, …] (168)
    
    //24 Hour Volume
    Vol24h:17245.175515152547
    
    //7 day Volume
    Vol7d:122002.12921675538
    
    //30 day Volume
    Vol30d:648407.9780143534
    
    //180 day Volume
    Vol180d:20878715.588442195
    
    //Year Volume
    Vol365d:20878715.588442195
    
    //All Time Volume
    allVol:20878715.588442195
    
    //sen.pairs is an array of objects, SEN only has 1 pair.
    //sen.pairs[0] gives you the pair object at position 0
    pairs:[
      {
        //The ID of the pair
        pairID: "0x43951c209003A70dCA94c2a5b09342C9c84E58Ac"
        
        //The name of the pair
        pairName: "SEN-KAI"

        //TVL of the pair
        pairTVL: "485874.0229068231327736992264540405"

        //Address of token 1 (KAI)
        token1: "0xb697231730C004110A86f51BfF4B8DD085c0CB28"

        //Address of token 2(SEN)
        token2: "0xAF984E23EAA3E7967F3C5E007fbe397D8566D23d"
      }
    ]
}

The same can be done with /hist and /lps they have descriptive names so it should be quite easy to use them. if you still have questions about the api contact me on telegram - @dima3553 and I will help you set everything up.

Last updated