curl --request GET \
--url https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps \
--header 'X-Api-Key: <api-key>'import requests
url = "https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"page": 1,
"pageSize": 100,
"cursor": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...kJ8E_653QrA4Q8zb_9OCn6opE9aBo8PjqLeQU_VCaaw",
"exchangeName": "Raydium AMM v4",
"exchangeLogo": "https://entities-logos.s3.amazonaws.com/raydium.png",
"exchangeAddress": "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8",
"pairLabel": "BREAD/SOL",
"pairAddress": "ALeyWh7zN979ZHUWY6YTMJC8wWowzdYqi8RRPRyB3LAd",
"baseToken": {
"address": "madHpjRn6bd8t78Rsy7NuSuNwWa2HU8ByPobZprHbHv",
"name": "MAD",
"symbol": "MAD",
"logo": "https://ipfs.io/ipfs/QmeCR6o1FrYjczPdDDDm4623usKksjj9BQLu89WqV8jFZW?filename=MAD.jpg",
"decimals": "18"
},
"quoteToken": {
"address": "madHpjRn6bd8t78Rsy7NuSuNwWa2HU8ByPobZprHbHv",
"name": "MAD",
"symbol": "MAD",
"logo": "https://ipfs.io/ipfs/QmeCR6o1FrYjczPdDDDm4623usKksjj9BQLu89WqV8jFZW?filename=MAD.jpg",
"decimals": "18"
},
"result": [
{
"transactionHash": "3o9NfCBWaDEb8JLJGdp8tfWwXURNokanCvUJf9A9f5nFqmZkRvWcfhkek4t47UhRDSGKHsSzi8MBusin8H7x7YYD",
"transactionType": "sell",
"transactionIndex": 250,
"subCategory": "sellAll",
"blockTimestamp": "2024-11-28T09:44:55.000Z",
"blockNumber": 304108120,
"walletAddress": "A8GVZWGMxRAouFQymPoMKx527JhHKrBRuqFx7NET4j22",
"baseTokenAmount": "199255.444466200",
"quoteTokenAmount": "0.007374998",
"baseTokenPriceUsd": 0.000008794,
"quoteTokenPriceUsd": 237.60336565,
"baseQuotePrice": "0.0000000370127",
"totalValueUsd": 1.752324346
}
]
}Pair Swaps
Get all swap related transactions (buy, sell, add liquidity & remove liquidity) for a specific pair address.
curl --request GET \
--url https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps \
--header 'X-Api-Key: <api-key>'import requests
url = "https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://solana-gateway.moralis.io/token/{network}/pairs/{pairAddress}/swaps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"page": 1,
"pageSize": 100,
"cursor": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...kJ8E_653QrA4Q8zb_9OCn6opE9aBo8PjqLeQU_VCaaw",
"exchangeName": "Raydium AMM v4",
"exchangeLogo": "https://entities-logos.s3.amazonaws.com/raydium.png",
"exchangeAddress": "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8",
"pairLabel": "BREAD/SOL",
"pairAddress": "ALeyWh7zN979ZHUWY6YTMJC8wWowzdYqi8RRPRyB3LAd",
"baseToken": {
"address": "madHpjRn6bd8t78Rsy7NuSuNwWa2HU8ByPobZprHbHv",
"name": "MAD",
"symbol": "MAD",
"logo": "https://ipfs.io/ipfs/QmeCR6o1FrYjczPdDDDm4623usKksjj9BQLu89WqV8jFZW?filename=MAD.jpg",
"decimals": "18"
},
"quoteToken": {
"address": "madHpjRn6bd8t78Rsy7NuSuNwWa2HU8ByPobZprHbHv",
"name": "MAD",
"symbol": "MAD",
"logo": "https://ipfs.io/ipfs/QmeCR6o1FrYjczPdDDDm4623usKksjj9BQLu89WqV8jFZW?filename=MAD.jpg",
"decimals": "18"
},
"result": [
{
"transactionHash": "3o9NfCBWaDEb8JLJGdp8tfWwXURNokanCvUJf9A9f5nFqmZkRvWcfhkek4t47UhRDSGKHsSzi8MBusin8H7x7YYD",
"transactionType": "sell",
"transactionIndex": 250,
"subCategory": "sellAll",
"blockTimestamp": "2024-11-28T09:44:55.000Z",
"blockNumber": 304108120,
"walletAddress": "A8GVZWGMxRAouFQymPoMKx527JhHKrBRuqFx7NET4j22",
"baseTokenAmount": "199255.444466200",
"quoteTokenAmount": "0.007374998",
"baseTokenPriceUsd": 0.000008794,
"quoteTokenPriceUsd": 237.60336565,
"baseQuotePrice": "0.0000000370127",
"totalValueUsd": 1.752324346
}
]
}Authorizations
Path Parameters
The network to query
mainnet, devnet The address of the pair to query
"Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE"
Query Parameters
The limit per page
1 <= x <= 100The cursor to the next page
The order of items
ASC, DESC The starting date (format in seconds or datestring accepted by momentjs)
The ending date (format in seconds or datestring accepted by momentjs)
Transaction types to fetch. Possible values: 'buy', 'sell', 'addLiquidity' or 'removeLiquidity' separated by comma
"buy,sell,addLiquidity,removeLiquidity"
Response
1
100
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...kJ8E_653QrA4Q8zb_9OCn6opE9aBo8PjqLeQU_VCaaw"
"Raydium AMM v4"
"https://entities-logos.s3.amazonaws.com/raydium.png"
"675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"
"BREAD/SOL"
"ALeyWh7zN979ZHUWY6YTMJC8wWowzdYqi8RRPRyB3LAd"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

