List Markets
curl --request GET \
--url https://api.convallax.com/v1/marketsimport requests
url = "https://api.convallax.com/v1/markets"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.convallax.com/v1/markets', 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://api.convallax.com/v1/markets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://api.convallax.com/v1/markets"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.convallax.com/v1/markets")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.convallax.com/v1/markets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"count": 2,
"markets": [
{
"name": "Hantavirus pandemic in 2026?",
"conditionId": "0xa4ddc18895cc7b14810283ef8f113939abffd3969c6a0e37f1897110c67e6f73",
"yesClobTokenId": "51508280778202349361616850684455231843716212176724253736363122559269229712002",
"seriesCount": 126,
"strikes": [
35,
40,
45,
50,
55,
60,
65,
70,
75
],
"expiries": [
1780272000,
1782864000,
1785542400
],
"optionTypes": [
"call",
"put"
]
}
]
}Series
List Markets
Discover which Polymarket markets have option series available for trading on Convallax.
GET
/
v1
/
markets
List Markets
curl --request GET \
--url https://api.convallax.com/v1/marketsimport requests
url = "https://api.convallax.com/v1/markets"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.convallax.com/v1/markets', 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://api.convallax.com/v1/markets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://api.convallax.com/v1/markets"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.convallax.com/v1/markets")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.convallax.com/v1/markets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"count": 2,
"markets": [
{
"name": "Hantavirus pandemic in 2026?",
"conditionId": "0xa4ddc18895cc7b14810283ef8f113939abffd3969c6a0e37f1897110c67e6f73",
"yesClobTokenId": "51508280778202349361616850684455231843716212176724253736363122559269229712002",
"seriesCount": 126,
"strikes": [
35,
40,
45,
50,
55,
60,
65,
70,
75
],
"expiries": [
1780272000,
1782864000,
1785542400
],
"optionTypes": [
"call",
"put"
]
}
]
}No authentication required — this is a public read endpoint. Do not send an
X-API-Key header; it is neither required nor checked.
Start here to discover which markets are available. Each entry tells you:
conditionId— pass this to List Series to see every individual option series for that market.strikes— which strike prices (in basis points) are available.expiries— which expiry dates are available (Unix timestamps).optionTypes— whether calls, puts, or both are listed.
Typical workflow
- Call
GET /v1/marketsto see what’s tradeable. - Pick a market and call
GET /v1/series?conditionId=0x...to browse its series. - Open a quote request with the desired series parameters.
Was this page helpful?
