coinmarketcap-dex-sdk
v0.0.4
Published
A TypeScript SDK for interacting with the CoinMarketCap DEX API. This SDK simplifies communication with the CoinMarketCap Pro API to fetch data about decentralized exchanges, spot pairs, pair quotes, networks, and more.
Readme
CoinMarketCap DEX SDK
A TypeScript SDK for interacting with the CoinMarketCap DEX API. This SDK simplifies communication with the CoinMarketCap Pro API to fetch data about decentralized exchanges, spot pairs, pair quotes, networks, and more.
This is a unofficial SDK for the DEX API on CoinMarketCap. Most of this is being ported from an exported Postman Collection (Official). This is a personal project I'm using and figured it might be helpful to others. Not all the endpoints are implemented yet. Feel free to PR.
Features
- Fetch the latest spot pairs on DEXes.
- Get the latest quotes for specific pairs.
- Retrieve listings and metadata for decentralized exchanges.
- Fetch a list of networks supported on CoinMarketCap.
- Easy-to-use interface for integrating CoinMarketCap's DEX API.
Installation
Install the SDK using npm or yarn:
npm install coinmarketcap-dex-sdk
# or
yarn add coinmarketcap-dex-sdkGetting Started
Import and Initialize the SDK
import { CoinMarketCapDexSDK } from "coinmarketcap-dex-sdk";
const api = new CoinMarketCapDexSDK({
apiKey: "your_api_key_here", // Your CoinMarketCap API key
// baseUrl: 'https://pro-api.coinmarketcap.com', // Optional, defaults to CoinMarketCap's API URL
});Example Usage
Fetch Latest Spot Pairs
Retrieve the latest spot pairs on supported DEXes.
api
.getSpotPairsLatest({
network_id: 25,
dex_slug: "uniswap-v3-polygon,quickswap-v3,curve-polygon",
base_asset_symbol: "USDT",
sort: "volume_24h",
sort_dir: "asc",
})
.then((data) => console.log(data))
.catch((error) => console.error(error));Fetch Latest Pair Quotes
Retrieve the latest quotes for specific pairs.
api
.getPairsQuotesLatest({
contract_address: "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640,0xc2e9f25be6257c210d7adf0d4cd6e3e881ba25f8",
skip_invalid: true,
})
.then((data) => console.log(data))
.catch((error) => console.error(error));Fetch DEX Listings and Metadata
Retrieve listings or metadata for decentralized exchanges.
api
.getListingsInfo({ slug: "uniswap-v3-polygon" })
.then((data) => console.log(data))
.catch((error) => console.error(error));Fetch Networks List
Retrieve the list of networks supported on CoinMarketCap.
api
.getNetworksList({})
.then((data) => console.log(data))
.catch((error) => console.error(error));Parameters and Responses
Params: Types for request parameters are defined in the
paramsmodule:ListingsInfoParamsListingsQuotesParamsNetworksListParamsPairsQuotesLatestParamsSpotPairsLatestParams
Responses: Types for API responses are defined in the
responsesmodule:ListingsInfoResponseListingsQuotesResponseNetworksListResponseSpotPairsLatestResponse
Constructor Options
The SDK requires an API key for authentication and optionally allows setting a custom base URL.
| Parameter | Type | Required | Default | Description |
|-------------|----------|----------|----------------------------------------|------------------------------|
| apiKey | string | Yes | - | Your CoinMarketCap API key. |
| baseUrl | string | No | https://pro-api.coinmarketcap.com | Base URL for the API. |
Error Handling
The SDK throws errors for non-successful API responses. Use try...catch blocks or .catch methods for handling errors.
try {
const data = await api.getNetworksList({});
console.log(data);
} catch (error) {
console.error("Error fetching data:", error);
}Development and Contributions
Build the SDK
To build the project locally:
npm run buildRun Tests
TODO: Tests can be added and executed using your preferred testing framework.
License
This project is licensed under the MIT License.
