Maker on one market-day (public, CP + USDC)
curl --request GET \
--url https://api-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}import requests
url = "https://api-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}', 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-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}",
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-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}"
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-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}")
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{
"market_id": "<string>",
"maker": "<string>",
"flagged": true,
"epoch": 123,
"day_open_ms": 123,
"day_close_ms": 123,
"scored": true,
"currency": "CP",
"score": "<string>",
"score_share": "<string>",
"projected_payout": {
"amount": "12.50",
"currency": "CP"
},
"credited": {
"amount": "12.50",
"currency": "CP"
},
"status": "pending",
"order_count": 123,
"cancel_count": 123,
"fill_count": 123,
"eligible_ms": 123,
"qualifying_orders": {
"page": 123,
"page_size": 123,
"total": 123,
"truncated_orders": 123,
"attributed": {
"amount": "12.50",
"currency": "CP"
},
"unattributed": {
"amount": "12.50",
"currency": "CP"
},
"orders": [
{
"order_id": "<string>",
"outcome": "<string>",
"side": "<string>",
"price_tick": 123,
"score": "<string>",
"maker_score_share": "<string>",
"payout": {
"amount": "12.50",
"currency": "CP"
},
"eligible_ms": 123,
"first_seen_ms": 123,
"last_seen_ms": 123,
"created_at_ms": 123,
"opening_size_micro": "<string>",
"closing_size_micro": "<string>",
"exit_kind": "filled"
}
]
}
}Liquidity Rewards (public)
Maker on one market-day (public, CP + USDC)
Same as Privy GET /liquidity-rewards/markets/{marketId}/me,
with the maker wallet in the path. No Privy token. Preferred
over the CP-only epoch routes for dual-rail markets.
GET
/
public
/
liquidity-rewards
/
markets
/
{marketId}
/
wallets
/
{walletAddress}
Maker on one market-day (public, CP + USDC)
curl --request GET \
--url https://api-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}import requests
url = "https://api-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}', 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-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}",
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-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}"
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-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-mainnet.xo.market/api/public/liquidity-rewards/markets/{marketId}/wallets/{walletAddress}")
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{
"market_id": "<string>",
"maker": "<string>",
"flagged": true,
"epoch": 123,
"day_open_ms": 123,
"day_close_ms": 123,
"scored": true,
"currency": "CP",
"score": "<string>",
"score_share": "<string>",
"projected_payout": {
"amount": "12.50",
"currency": "CP"
},
"credited": {
"amount": "12.50",
"currency": "CP"
},
"status": "pending",
"order_count": 123,
"cancel_count": 123,
"fill_count": 123,
"eligible_ms": 123,
"qualifying_orders": {
"page": 123,
"page_size": 123,
"total": 123,
"truncated_orders": 123,
"attributed": {
"amount": "12.50",
"currency": "CP"
},
"unattributed": {
"amount": "12.50",
"currency": "CP"
},
"orders": [
{
"order_id": "<string>",
"outcome": "<string>",
"side": "<string>",
"price_tick": 123,
"score": "<string>",
"maker_score_share": "<string>",
"payout": {
"amount": "12.50",
"currency": "CP"
},
"eligible_ms": 123,
"first_seen_ms": 123,
"last_seen_ms": 123,
"created_at_ms": 123,
"opening_size_micro": "<string>",
"closing_size_micro": "<string>",
"exit_kind": "filled"
}
]
}
}Path Parameters
CLOB market id. Use the market's conditionId (0x-prefixed
32-byte hex).
Maker wallet (0x-prefixed 40-hex). Any case is accepted.
Pattern:
^0x[a-fA-F0-9]{40}$Query Parameters
UTC-day index. Omit to let upstream choose the current (open) day.
Required range:
0 <= x <= 100000000-indexed page for liquidity-rewards proxied lists.
Required range:
0 <= x <= 1000000Page size for liquidity-rewards proxied lists.
Required range:
1 <= x <= 1000Response
Market-day card for that maker.
Authenticated or public maker on one market-day. snake_case.
Carries CP and/or USDC via projected_payout / credited.
Available options:
CP, USDC Show child attributes
Show child attributes
Show child attributes
Show child attributes
Available options:
pending, paid, dropped_below_min, dropped_flagged, failed_transfer, none Show child attributes
Show child attributes