Tokens Quickstart

Welcome to the Defined Token GraphQL API docs.

πŸ“˜

Don't have an API key yet?

Go to the Defined Dashboard and sign up for a free API account.

Explore the token endpoints to get metadata, prices, events, detailed stats, or search and filter through the 1.5M+ tokens listed on Defined. Tokens are listed on Defined automatically when liquidity is added to the pair.

Enterprise users have access to websockets and can subscribe to real-time price, metadata, event updates.


Copy-paste the code below to get started quickly with the Get Token Info endpoint on the command line or in your app.

  ## Note the use of `\` to escape the quote character
  
  curl \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization:<MY_KEY>" -d '{ "query": "{ getTokenInfo(address:\"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\" networkId:1) { symbol totalSupply } }"}' \
  https://graph.defined.fi/graphql
import axios from "axios";

axios
  .post(
    "https://graph.defined.fi/graphql",
    {
      query: `{
				getTokenInfo(address:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" networkId:1) {
    			symbol
    			totalSupply
  			}
      }`
    },{
      headers: {
        "Content-Type": "application/json",
        "Authorization": "<MY_KEY>"
      }
    }
  )
  .then((response) => {
    console.log(response.data);
  });

import requests
import json

url = "https://graph.defined.fi/graphql"

headers = {
  "content_type":"application/json",
  "Authorization": "<MY_KEY>"
}

getTokenInfo = """query GetTokenInfoQuery { getTokenInfo(address:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" networkId:1) { symbol totalSupply } }"""

response = requests.post(url, headers=headers, json={"query": getTokenInfo})

print(json.loads(response.text))
<?php

$url = "https://graph.defined.fi/graphql";

$query = array(
    'query' => '{
				getTokenInfo(address:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" networkId:1) {
    			symbol
    			totalSupply
  			}
    }'
);

$headers = array(
    'Content-Type: application/json',
    'Authorization: ' . "<MY_KEY>"
);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($query));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
package main

import (
  "bytes"
	"fmt"
	"net/http"
	"io/ioutil"
	"encoding/json"
)

func main() {
	url := "https://graph.defined.fi/graphql"
	apiKey := "<MY_KEY>"

	query := `query GetTokenInfoQuery { getTokenInfo(address:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" networkId:1) { symbol totalSupply } }`
	payload := map[string]string{"query": query}
	payloadBytes, _ := json.Marshal(payload)

	req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payloadBytes))
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", apiKey)

	client := &http.Client{}
	res, _ := client.Do(req)
	defer res.Body.Close()

	body, _ := ioutil.ReadAll(res.Body)

	var response map[string]interface{}
	json.Unmarshal(body, &response)

	fmt.Println(response)
}
require 'net/http'
require 'json'

uri = URI('https://graph.defined.fi/graphql')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

headers = {
  'Content-Type' => 'application/json',
  'Authorization' => '<MY_KEY>'
}

query = {
  query: '{
		getTokenInfo(address:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" networkId:1) {
    	symbol
    	totalSupply
  	}
  }'
}

request = Net::HTTP::Post.new(uri.path, headers)
request.body = query.to_json

response = http.request(request)
puts response.body

Remember to replace <MY_KEY> with your new API key.