List events
curl --request GET \
--url https://relay.bayse.markets/v1/pm/eventsimport requests
url = "https://relay.bayse.markets/v1/pm/events"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://relay.bayse.markets/v1/pm/events', 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://relay.bayse.markets/v1/pm/events",
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://relay.bayse.markets/v1/pm/events"
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://relay.bayse.markets/v1/pm/events")
.asString();require 'uri'
require 'net/http'
url = URI("https://relay.bayse.markets/v1/pm/events")
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{
"events": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"slug": "super-eagles-afcon-2026",
"title": "Will Super Eagles qualify for AFCON 2026?",
"description": "Nigeria national football team qualification.",
"category": "sports",
"type": "single",
"engine": "AMM",
"status": "open",
"resolutionDate": "2025-11-20T00:00:00Z",
"closingDate": "2025-11-19T18:00:00Z",
"imageUrl": "https://cdn.bayse.markets/events/afcon2026.jpg",
"liquidity": 50000,
"totalVolume": 120000,
"totalOrders": 843,
"supportedCurrencies": ["USD", "NGN"],
"userWatchlisted": false,
"markets": [
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"title": "Will Super Eagles qualify?",
"status": "open",
"outcome1Id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"outcome1Label": "YES",
"outcome1Price": 0.72,
"outcome2Id": "d4e5f6a7-b8c9-0123-defa-234567890123",
"outcome2Label": "NO",
"outcome2Price": 0.28,
"yesBuyPrice": 0.72,
"minimumOrderAmount": 1,
"noBuyPrice": 0.28,
"feePercentage": 2.0,
"totalOrders": 843,
"rules": "Resolves YES if Nigeria qualifies for AFCON 2026."
}
]
},
{
"id": "e5f6a7b8-c9d0-1234-efab-cd567890abcd",
"slug": "mci-vs-avl-2026-05-24",
"title": "Manchester City vs Aston Villa",
"description": "Premier League match",
"category": "sports",
"type": "combined",
"engine": "CLOB",
"status": "open",
"sportMarketType": "TEAM_H2H_3WAY",
"sportGameId": "game-12345",
"sportGameSlug": "bm-game-20260524-mci-avl",
"resolutionDate": "2026-05-24T20:00:00Z",
"closingDate": "2026-05-24T15:00:00Z",
"imageUrl": "https://cdn.bayse.markets/events/mci-avl.jpg",
"liquidity": 75000,
"totalVolume": 250000,
"totalOrders": 1250,
"supportedCurrencies": ["USD"],
"userWatchlisted": true,
"markets": [
{
"id": "f6a7b8c9-d0e1-2345-fabc-678901234567",
"title": "Manchester City to Win",
"status": "open",
"outcome1Id": "01234567-89ab-cdef-0123-456789abcdef",
"outcome1Label": "YES",
"outcome1Price": 0.63,
"outcome2Id": "fedcba98-7654-3210-fedc-ba9876543210",
"outcome2Label": "NO",
"outcome2Price": 0.37,
"propTeam": {
"id": "team-uuid-1",
"name": "Manchester City FC",
"slug": "manchester-city-fc",
"league": "England - Premier League",
"sport": "SOCCER"
},
"yesBuyPrice": 0.63,
"noBuyPrice": 0.37,
"feePercentage": 0.5,
"totalOrders": 420,
"rules": "Resolves YES if Manchester City wins the match."
},
{
"id": "a7b8c9d0-e1f2-3456-abcd-789012345678",
"title": "Aston Villa to Win",
"status": "open",
"outcome1Id": "12345678-9abc-def0-1234-56789abcdef0",
"outcome1Label": "YES",
"outcome1Price": 0.63,
"outcome2Id": "0fedcba9-8765-4321-0fed-cba987654321",
"outcome2Label": "NO",
"outcome2Price": 0.37,
"propTeam": {
"id": "team-uuid-2",
"name": "Aston Villa FC",
"slug": "aston-villa-fc",
"league": "England - Premier League",
"sport": "SOCCER"
},
"yesBuyPrice": 0.63,
"noBuyPrice": 0.37,
"feePercentage": 0.5,
"totalOrders": 420,
"rules": "Resolves YES if Aston Villa wins the match."
},
{
"id": "b8c9d0e1-f234-5678-bcde-890123456789",
"title": "Draw",
"status": "open",
"outcome1Id": "23456789-abcd-ef01-2345-6789abcdef01",
"outcome1Label": "YES",
"outcome1Price": 0.63,
"outcome2Id": "1fedcba9-8765-4321-1fed-cba987654321",
"outcome2Label": "NO",
"outcome2Price": 0.37,
"propTeam": null,
"yesBuyPrice": 0.63,
"noBuyPrice": 0.37,
"feePercentage": 0.5,
"totalOrders": 420,
"rules": "Resolves YES if match ends in a draw."
},
]
}
],
"pagination": {
"page": 1,
"size": 10,
"lastPage": 3,
"totalCount": 28
}
}
Trading
List events
Get a paginated list of prediction market events
GET
/
v1
/
pm
/
events
List events
curl --request GET \
--url https://relay.bayse.markets/v1/pm/eventsimport requests
url = "https://relay.bayse.markets/v1/pm/events"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://relay.bayse.markets/v1/pm/events', 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://relay.bayse.markets/v1/pm/events",
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://relay.bayse.markets/v1/pm/events"
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://relay.bayse.markets/v1/pm/events")
.asString();require 'uri'
require 'net/http'
url = URI("https://relay.bayse.markets/v1/pm/events")
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{
"events": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"slug": "super-eagles-afcon-2026",
"title": "Will Super Eagles qualify for AFCON 2026?",
"description": "Nigeria national football team qualification.",
"category": "sports",
"type": "single",
"engine": "AMM",
"status": "open",
"resolutionDate": "2025-11-20T00:00:00Z",
"closingDate": "2025-11-19T18:00:00Z",
"imageUrl": "https://cdn.bayse.markets/events/afcon2026.jpg",
"liquidity": 50000,
"totalVolume": 120000,
"totalOrders": 843,
"supportedCurrencies": ["USD", "NGN"],
"userWatchlisted": false,
"markets": [
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"title": "Will Super Eagles qualify?",
"status": "open",
"outcome1Id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"outcome1Label": "YES",
"outcome1Price": 0.72,
"outcome2Id": "d4e5f6a7-b8c9-0123-defa-234567890123",
"outcome2Label": "NO",
"outcome2Price": 0.28,
"yesBuyPrice": 0.72,
"minimumOrderAmount": 1,
"noBuyPrice": 0.28,
"feePercentage": 2.0,
"totalOrders": 843,
"rules": "Resolves YES if Nigeria qualifies for AFCON 2026."
}
]
},
{
"id": "e5f6a7b8-c9d0-1234-efab-cd567890abcd",
"slug": "mci-vs-avl-2026-05-24",
"title": "Manchester City vs Aston Villa",
"description": "Premier League match",
"category": "sports",
"type": "combined",
"engine": "CLOB",
"status": "open",
"sportMarketType": "TEAM_H2H_3WAY",
"sportGameId": "game-12345",
"sportGameSlug": "bm-game-20260524-mci-avl",
"resolutionDate": "2026-05-24T20:00:00Z",
"closingDate": "2026-05-24T15:00:00Z",
"imageUrl": "https://cdn.bayse.markets/events/mci-avl.jpg",
"liquidity": 75000,
"totalVolume": 250000,
"totalOrders": 1250,
"supportedCurrencies": ["USD"],
"userWatchlisted": true,
"markets": [
{
"id": "f6a7b8c9-d0e1-2345-fabc-678901234567",
"title": "Manchester City to Win",
"status": "open",
"outcome1Id": "01234567-89ab-cdef-0123-456789abcdef",
"outcome1Label": "YES",
"outcome1Price": 0.63,
"outcome2Id": "fedcba98-7654-3210-fedc-ba9876543210",
"outcome2Label": "NO",
"outcome2Price": 0.37,
"propTeam": {
"id": "team-uuid-1",
"name": "Manchester City FC",
"slug": "manchester-city-fc",
"league": "England - Premier League",
"sport": "SOCCER"
},
"yesBuyPrice": 0.63,
"noBuyPrice": 0.37,
"feePercentage": 0.5,
"totalOrders": 420,
"rules": "Resolves YES if Manchester City wins the match."
},
{
"id": "a7b8c9d0-e1f2-3456-abcd-789012345678",
"title": "Aston Villa to Win",
"status": "open",
"outcome1Id": "12345678-9abc-def0-1234-56789abcdef0",
"outcome1Label": "YES",
"outcome1Price": 0.63,
"outcome2Id": "0fedcba9-8765-4321-0fed-cba987654321",
"outcome2Label": "NO",
"outcome2Price": 0.37,
"propTeam": {
"id": "team-uuid-2",
"name": "Aston Villa FC",
"slug": "aston-villa-fc",
"league": "England - Premier League",
"sport": "SOCCER"
},
"yesBuyPrice": 0.63,
"noBuyPrice": 0.37,
"feePercentage": 0.5,
"totalOrders": 420,
"rules": "Resolves YES if Aston Villa wins the match."
},
{
"id": "b8c9d0e1-f234-5678-bcde-890123456789",
"title": "Draw",
"status": "open",
"outcome1Id": "23456789-abcd-ef01-2345-6789abcdef01",
"outcome1Label": "YES",
"outcome1Price": 0.63,
"outcome2Id": "1fedcba9-8765-4321-1fed-cba987654321",
"outcome2Label": "NO",
"outcome2Price": 0.37,
"propTeam": null,
"yesBuyPrice": 0.63,
"noBuyPrice": 0.37,
"feePercentage": 0.5,
"totalOrders": 420,
"rules": "Resolves YES if match ends in a draw."
},
]
}
],
"pagination": {
"page": 1,
"size": 10,
"lastPage": 3,
"totalCount": 28
}
}
Authentication
Public — no authentication required. ProvideX-Public-Key to receive personalized data (e.g. watchlist status).
Query parameters
integer
default:"1"
Page number.
integer
default:"20"
Results per page.
string
Filter by category (e.g.
sports, crypto, politics).string
Filter by subcategory.
string
Filter by status:
open, paused, closed, resolved, cancelled. Defaults to open (includes paused) when omitted.string
Search events by title keyword.
string
default:"USD"
Currency for prices:
USD or NGN.boolean
Return trending events only.
boolean
Return watchlisted events only (requires
X-Public-Key).string
Filter by event series slug (e.g.
crypto-btc-1h).string
Filter by sports game slug to fetch all related events (H2H, Goal Spread, Total Goals) for a match (e.g.
bm-game-20260524-mci-avl). Only applies to sports events.Example request
curl "https://relay.bayse.markets/v1/pm/events?category=sports&status=open¤cy=USD&page=1&size=10"
const params = new URLSearchParams({
category: 'sports',
status: 'open',
currency: 'USD',
page: 1,
size: 10,
});
const response = await fetch(
`https://relay.bayse.markets/v1/pm/events?${params}`
);
const data = await response.json();
import requests
resp = requests.get(
'https://relay.bayse.markets/v1/pm/events',
params={
'category': 'sports',
'status': 'open',
'currency': 'USD',
'page': 1,
'size': 10,
},
)
data = resp.json()
req, _ := http.NewRequest("GET", "https://relay.bayse.markets/v1/pm/events", nil)
q := req.URL.Query()
q.Add("category", "sports")
q.Add("status", "open")
q.Add("currency", "USD")
q.Add("page", "1")
q.Add("size", "10")
req.URL.RawQuery = q.Encode()
resp, _ := http.DefaultClient.Do(req)
Response
array
List of event objects.
Show event fields
Show event fields
string
UUID of the event.
string
Human-readable URL slug for the event.
string
The prediction question.
string
Additional context.
string
Event category.
string
single or combined.string
AMM or CLOB.string
Current status:
open, paused, closed, resolved, or cancelled.string
ISO 8601 — when the event opens for trading. Present on time-boxed events (e.g. crypto).
string
ISO 8601 — when the outcome is determined.
string
ISO 8601 — when trading closes.
string
Cover image URL.
number
Total liquidity in the event.
number
Total trading volume.
integer
Total number of orders placed.
array
Currencies available for trading.
boolean
Whether the authenticated user has watchlisted this event.
string
Trading pair symbol (e.g.
BTCUSDT). Present on crypto events.number
Opening/reference price for the event. Present on crypto events.
string
Threshold range in format
"100-200". Present when the event covers a price range.number
Closing price at resolution. Present on resolved crypto events.
string
Slug of the event series this event belongs to (e.g.
crypto-btc-1h).string
ID of the sports game. Present on sports events.
string
Slug of the sports game (e.g.
bm-game-20260524-mci-avl). Use this to fetch all related events for the match.string
Type of sports market. Present on sports events. One of:
TEAM_H2H_3WAY (match winner),
BOTH_TEAMS_TO_SCORE (both teams score?),
FIRST_TEAM_TO_SCORE (which team scores first?),
GOAL_SPREAD (team wins by X+ goals),
TOTAL_GOALS (total goals by both teams),
TOTAL_GOALS_HOME (home team total goals),
TOTAL_GOALS_AWAY (away team total goals),
TOTAL_CORNERS (total corners, full match),
FIRST_HALF_CORNERS (corners in 1st half),
SECOND_HALF_CORNERS (corners in 2nd half).array
Sub-markets within the event.
Show market fields
Show market fields
string
UUID of the market.
string
Sub-market question.
string
Market status.
string
UUID of outcome 1.
string
Label for outcome 1 (e.g.
YES).number
Current probability price for outcome 1 (0.00–1.00).
string
UUID of outcome 2.
string
Label for outcome 2 (e.g.
NO).number
Current probability price for outcome 2 (0.00–1.00).
string
UUID of the resolved outcome. Present when the market is resolved.
number
Effective buy price for outcome 1.
number
Effective buy price for outcome 2.
number
Minimum order amount for that market in the requested
currency. While most markets have a minimum order amount of 1.00 USD or 100.00 NGN, individual markets can specify their own minimum order amounts. Use this field instead of hardcoding a single value.number
Trading fee as a percentage.
integer
Number of orders in this market.
string
Resolution criteria.
number
Opening/reference price for the market. Present on crypto markets.
string
Threshold range in format
"100-200". Present when the market covers a price range.number
Closing price at resolution. Present on resolved crypto markets.
number
The threshold value (e.g. 1.5 goals, 9.5 corners). Present on goal and corner prop markets.
string
Directional label:
OVER for prop markets. Present on goal and corner prop markets.object
Team details for team-specific markets. Present on Goal Spread, Total Goals Home/Away, and H2H home/away markets;
null for match-level markets (Total Goals, corners, Both Teams to Score, H2H Draw, First Team to Score “Neither”).object
{
"events": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"slug": "super-eagles-afcon-2026",
"title": "Will Super Eagles qualify for AFCON 2026?",
"description": "Nigeria national football team qualification.",
"category": "sports",
"type": "single",
"engine": "AMM",
"status": "open",
"resolutionDate": "2025-11-20T00:00:00Z",
"closingDate": "2025-11-19T18:00:00Z",
"imageUrl": "https://cdn.bayse.markets/events/afcon2026.jpg",
"liquidity": 50000,
"totalVolume": 120000,
"totalOrders": 843,
"supportedCurrencies": ["USD", "NGN"],
"userWatchlisted": false,
"markets": [
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"title": "Will Super Eagles qualify?",
"status": "open",
"outcome1Id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"outcome1Label": "YES",
"outcome1Price": 0.72,
"outcome2Id": "d4e5f6a7-b8c9-0123-defa-234567890123",
"outcome2Label": "NO",
"outcome2Price": 0.28,
"yesBuyPrice": 0.72,
"minimumOrderAmount": 1,
"noBuyPrice": 0.28,
"feePercentage": 2.0,
"totalOrders": 843,
"rules": "Resolves YES if Nigeria qualifies for AFCON 2026."
}
]
},
{
"id": "e5f6a7b8-c9d0-1234-efab-cd567890abcd",
"slug": "mci-vs-avl-2026-05-24",
"title": "Manchester City vs Aston Villa",
"description": "Premier League match",
"category": "sports",
"type": "combined",
"engine": "CLOB",
"status": "open",
"sportMarketType": "TEAM_H2H_3WAY",
"sportGameId": "game-12345",
"sportGameSlug": "bm-game-20260524-mci-avl",
"resolutionDate": "2026-05-24T20:00:00Z",
"closingDate": "2026-05-24T15:00:00Z",
"imageUrl": "https://cdn.bayse.markets/events/mci-avl.jpg",
"liquidity": 75000,
"totalVolume": 250000,
"totalOrders": 1250,
"supportedCurrencies": ["USD"],
"userWatchlisted": true,
"markets": [
{
"id": "f6a7b8c9-d0e1-2345-fabc-678901234567",
"title": "Manchester City to Win",
"status": "open",
"outcome1Id": "01234567-89ab-cdef-0123-456789abcdef",
"outcome1Label": "YES",
"outcome1Price": 0.63,
"outcome2Id": "fedcba98-7654-3210-fedc-ba9876543210",
"outcome2Label": "NO",
"outcome2Price": 0.37,
"propTeam": {
"id": "team-uuid-1",
"name": "Manchester City FC",
"slug": "manchester-city-fc",
"league": "England - Premier League",
"sport": "SOCCER"
},
"yesBuyPrice": 0.63,
"noBuyPrice": 0.37,
"feePercentage": 0.5,
"totalOrders": 420,
"rules": "Resolves YES if Manchester City wins the match."
},
{
"id": "a7b8c9d0-e1f2-3456-abcd-789012345678",
"title": "Aston Villa to Win",
"status": "open",
"outcome1Id": "12345678-9abc-def0-1234-56789abcdef0",
"outcome1Label": "YES",
"outcome1Price": 0.63,
"outcome2Id": "0fedcba9-8765-4321-0fed-cba987654321",
"outcome2Label": "NO",
"outcome2Price": 0.37,
"propTeam": {
"id": "team-uuid-2",
"name": "Aston Villa FC",
"slug": "aston-villa-fc",
"league": "England - Premier League",
"sport": "SOCCER"
},
"yesBuyPrice": 0.63,
"noBuyPrice": 0.37,
"feePercentage": 0.5,
"totalOrders": 420,
"rules": "Resolves YES if Aston Villa wins the match."
},
{
"id": "b8c9d0e1-f234-5678-bcde-890123456789",
"title": "Draw",
"status": "open",
"outcome1Id": "23456789-abcd-ef01-2345-6789abcdef01",
"outcome1Label": "YES",
"outcome1Price": 0.63,
"outcome2Id": "1fedcba9-8765-4321-1fed-cba987654321",
"outcome2Label": "NO",
"outcome2Price": 0.37,
"propTeam": null,
"yesBuyPrice": 0.63,
"noBuyPrice": 0.37,
"feePercentage": 0.5,
"totalOrders": 420,
"rules": "Resolves YES if match ends in a draw."
},
]
}
],
"pagination": {
"page": 1,
"size": 10,
"lastPage": 3,
"totalCount": 28
}
}
⌘I