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.
npm install coinmarketcap-dex-sdkA 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.
- 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.
Install the SDK using npm or yarn:
``bash`
npm install coinmarketcap-dex-sdkor
yarn add coinmarketcap-dex-sdk
`typescript
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
});
`
#### Fetch Latest Spot Pairs
Retrieve the latest spot pairs on supported DEXes.
`typescript`
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.
`typescript`
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.
`typescript`
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.
`typescript`
api
.getNetworksList({})
.then((data) => console.log(data))
.catch((error) => console.error(error));
- Params: Types for request parameters are defined in the params module:ListingsInfoParams
- ListingsQuotesParams
- NetworksListParams
- PairsQuotesLatestParams
- SpotPairsLatestParams
-
- Responses: Types for API responses are defined in the responses module:ListingsInfoResponse
- ListingsQuotesResponse
- NetworksListResponse
- SpotPairsLatestResponse
-
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. |
---
The SDK throws errors for non-successful API responses. Use try...catch blocks or .catch methods for handling errors.
`typescript`
try {
const data = await api.getNetworksList({});
console.log(data);
} catch (error) {
console.error("Error fetching data:", error);
}
`bash``
npm run build
---
This project is licensed under the MIT License.