Wallet Credit Series
curl --request GET \
--url https://api.polynode.dev/v3/wallets/{addr}/credits/series \
--header 'x-api-key: <api-key>'import requests
url = "https://api.polynode.dev/v3/wallets/{addr}/credits/series"
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://api.polynode.dev/v3/wallets/{addr}/credits/series', 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.polynode.dev/v3/wallets/{addr}/credits/series",
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://api.polynode.dev/v3/wallets/{addr}/credits/series"
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://api.polynode.dev/v3/wallets/{addr}/credits/series")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polynode.dev/v3/wallets/{addr}/credits/series")
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{
"wallet": "0x204f72f35326db932158cba6adff0b9a1da95e14",
"interval": "day",
"series": [
{
"bucket": 1783641600,
"maker_rebate": {
"amount": "3857.120000",
"count": 1
}
},
{
"bucket": 1783728000,
"maker_rebate": {
"amount": "3714.480000",
"count": 1
}
}
]
}Credits API Reference
Wallet Credit Series
Time-bucketed earnings series per credit type for one wallet.
GET
/
v3
/
wallets
/
{addr}
/
credits
/
series
Wallet Credit Series
curl --request GET \
--url https://api.polynode.dev/v3/wallets/{addr}/credits/series \
--header 'x-api-key: <api-key>'import requests
url = "https://api.polynode.dev/v3/wallets/{addr}/credits/series"
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://api.polynode.dev/v3/wallets/{addr}/credits/series', 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.polynode.dev/v3/wallets/{addr}/credits/series",
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://api.polynode.dev/v3/wallets/{addr}/credits/series"
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://api.polynode.dev/v3/wallets/{addr}/credits/series")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polynode.dev/v3/wallets/{addr}/credits/series")
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{
"wallet": "0x204f72f35326db932158cba6adff0b9a1da95e14",
"interval": "day",
"series": [
{
"bucket": 1783641600,
"maker_rebate": {
"amount": "3857.120000",
"count": 1
}
},
{
"bucket": 1783728000,
"maker_rebate": {
"amount": "3714.480000",
"count": 1
}
}
]
}Bucketed earnings over time for one wallet. Use
Buckets are summed per bucket across the combined wallets, and
fill=zero for continuous buckets when charting.
Owner addresses. Pass an owner EOA as the wallet address and the response combines the EOA’s Polymarket wallets (Safe, proxy, deposit wallets) that have data for this endpoint. Passing a Safe, proxy or deposit wallet returns just that wallet, as before. Combined responses list the combined wallets in
wallets. See Owner addresses.Credit types
Every credits endpoint accepts these values intype/types:
| Value | Program |
|---|---|
reward | Liquidity rewards |
yield | Yield on balances |
maker_rebate | Maker rebates |
taker_rebate | Taker rebates |
referral_reward | Referral rewards |
types accepts a comma-separated set (types=maker_rebate,taker_rebate) or all.
Example
Weekly rebate earnings, chart-ready:curl "https://api.polynode.dev/v3/wallets/0x204f72f35326db932158cba6adff0b9a1da95e14/credits/series?types=maker_rebate,taker_rebate&interval=week&fill=zero" \
-H "x-api-key: $POLYNODE_API_KEY"
Owner address fields
Present only when you pass an owner EOA. See Owner addresses.| Field | Type | Description |
|---|---|---|
wallets | array | The combined wallets, in a fixed order, each {wallet, type} with type one of eoa, safe, proxy, or deposit_wallet |
wallet stays the address you passed.Authorizations
Path Parameters
Wallet (proxy) address, or an owner EOA to combine every Polymarket wallet it owns.
Query Parameters
Comma-separated set of credit types (One of reward, yield, maker_rebate, taker_rebate, referral_reward), or all for every type.
hour, day (default), week, or month.
zero to emit empty buckets, skip (default) to omit them.
Unix seconds start bound (inclusive).
Unix seconds end bound (inclusive).
Response
200 - application/json
Success
Owner-address responses add the optional fields below. See the page for the full response.
Present only when you pass an owner EOA: the combined wallets, in a fixed order.
Show child attributes
Show child attributes

