Web3 API Developer | Ethers.js, Solana SDK

Mmatch logoMmatch

Feb 01

🚀 Project Overview

We need a Node.js module that fetches real-time & historical token data using Bitquery, coingecko terminal, Web3 APIs, and Solana SDK (or any other API provider making sense). The module must be plug-and-play into our existing backend without modifications.

🔹 Must Support: All EVM chains + Solana

🔹 Must Be Optimized: Avoid unnecessary API calls, handle rate limits

🔹 Must Output Clean JSON: Ready for use in our API

📌 Task 1: Fetch Real-Time Token Data (Live Data)

This module must fetch the following 7 data points in real-time:

1️ USD price of the token

2️ Market Cap (Circulating supply * price)

3️ Liquidity (Total of all existing pools in USD)

4️ Volume (6h, 12h, 24h, 48h, 7d, 30d) (in USD)

5️ Transactions Count (6h, 12h, 24h, 48h, 7d, 30d)

6️ Holder Count

7️ Launch Date (First recorded on-chain trade)

🔹 Data Sources:

  • Bitquery GraphQL API (Primary source)
  • Coingecko terminal (or any other API provider making sense)
  • Web3.js / ethers.js / Solana SDK (For backup queries like holders count & liquidity)

🔹 Example Output Format:

json

{

 "address": "0x123...",

 "name": "ExampleToken",

 "symbol": "EXT",

 "price": 0.05,

 "marketCap": 5000000,

 "liquidity": 300000,

 "volume": {

   "6h": 105000,

   "12h": 1000,

   "24h": 100000,

   "48h": 600500,

   "7d": 500000,

   "30d": 1500000

 },

 "transactions": {

   "6h": 1000,

   "12h": 56000,

   "24h": 100000,

   "48h": 1200,

   "7d": 8500,

   "30d": 24000

 },

 "holders": 52000,

 "launchDate": "2023-05-01T00:00:00Z"

}

📌 Task 2: Fetch Historical Token Data

We need to fetch historical snapshots of the same 7 data points (Price, Market Cap, Liquidity, Volume, Transactions, Holders, Launch Date) at specific intervals for any token launched since January 1, 2020.

📅 Historical Timeframes to Fetch:

  • 6 hours after launch (respectively first 6 hours for volume & transactions)
  • 12 hours after launch (respectively first 12 hours for volume & transactions)
  • 24 hours after launch (respectively first 24 hours for volume & transactions)
  • 48 hours after launch (respectively first 48 hours for volume & transactions)
  • 1 week after launch (respectively first 1 week for volume & transactions)
  • 1 month after launch (respectively first 1 month for volume & transactions)

🔹 Data Sources:

  • Bitquery GraphQL API (Primary)
  • Coingecko terminal (or any other API provider making sense)
  • Web3.js / ethers.js / Solana SDK (Backup for holder count & liquidity)

🔹 Example Output Format:

json

{

 "address": "0x123...",

 "name": "ExampleToken",

 "symbol": "EXT",

 "historicalData": {

   "6h": {

     "price": 0.045,

     "marketCap": 4800000,

     "liquidity": 290000,

     "volume": 50000,

     "transactions": 600,

     "holders": 49000

   },

   "12h": {

     "price": 0.048,

     "marketCap": 4900000,

     "liquidity": 295000,

     "volume": 80000,

     "transactions": 800,

     "holders": 50000

   },

   "24h": {

     "price": 0.050,

     "marketCap": 5000000,

     "liquidity": 300000,

     "volume": 100000,

     "transactions": 1200,

     "holders": 52000

   }

 }

}

📌 3 Integration with Our Backend

🔹 Existing Stack:

  • Backend: Node.js + Express
  • APIs Used: Bitquery (GraphQL), Web3.js (ethers.js), Solana SDK
  • Data Handling: No database storage required, API must return JSON

🔹 Implementation Guidelines:

  • Module should be fetchTokenData.js
  • Export functions for each data point
  • Ensure proper error handling (use fallback sources if Bitquery API fails for example)
  • Optimize API calls to avoid rate limits

📌 4 Final Deliverables

✔️ Fully functional Node.js module (fetchTokenData.js)

✔️ Well-commented, easy-to-integrate code

✔️ Efficient API call handling

✔️ Support for all EVM chains + Solana

✔️ Real-time & historical data fetching

Listed in: Crypto Jobs, Developer Crypto Jobs, Web3 Web3 Jobs, Solana Web3 Jobs, Data Web3 Jobs, Node.js Web3 Jobs, Remote Web3 Jobs.