curl --request GET \
--url https://staging.apimonaco.xyz/api/v1/pitpass/referrals/me \
--header 'X-Monaco-Signature: <api-key>'import requests
url = "https://staging.apimonaco.xyz/api/v1/pitpass/referrals/me"
headers = {"X-Monaco-Signature": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Monaco-Signature': '<api-key>'}};
fetch('https://staging.apimonaco.xyz/api/v1/pitpass/referrals/me', 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://staging.apimonaco.xyz/api/v1/pitpass/referrals/me",
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-Monaco-Signature: <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://staging.apimonaco.xyz/api/v1/pitpass/referrals/me"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Monaco-Signature", "<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://staging.apimonaco.xyz/api/v1/pitpass/referrals/me")
.header("X-Monaco-Signature", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.apimonaco.xyz/api/v1/pitpass/referrals/me")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Monaco-Signature"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"referrer": "0x0000000000000000000000000000000000000002",
"totalEarned": "1400000",
"referrerDisplay": "cooltrader123",
"rewards": [
{
"source": "0x0000000000000000000000000000000000000002",
"level": 1,
"amount": "1200000",
"token": "0x0000000000000000000000000000000000000002",
"rateApplied": "0.30",
"createdAt": "2026-07-07T18:00:00Z",
"sourceDisplay": "cooltrader123"
}
],
"upline": [
{
"wallet": "0x0000000000000000000000000000000000000002",
"display": "<string>",
"level": 5
}
]
}Get your referral position
Read your own referral position (self-scoped).
Return the authenticated caller’s referral position: their referral chain
upward (L1, L2 and onward — who referred them, who referred that wallet, and
so on, as many levels as PitPass currently rewards), the total rewards they
have earned, and their most recent reward rows.
Self-scoped — identity comes only from the session, never a path id,
so a caller can only ever read their own chain. Every other user is
identified by their public wallet address, never an internal id. An empty
referrer and upline mean the caller was not referred.
curl --request GET \
--url https://staging.apimonaco.xyz/api/v1/pitpass/referrals/me \
--header 'X-Monaco-Signature: <api-key>'import requests
url = "https://staging.apimonaco.xyz/api/v1/pitpass/referrals/me"
headers = {"X-Monaco-Signature": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Monaco-Signature': '<api-key>'}};
fetch('https://staging.apimonaco.xyz/api/v1/pitpass/referrals/me', 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://staging.apimonaco.xyz/api/v1/pitpass/referrals/me",
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-Monaco-Signature: <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://staging.apimonaco.xyz/api/v1/pitpass/referrals/me"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Monaco-Signature", "<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://staging.apimonaco.xyz/api/v1/pitpass/referrals/me")
.header("X-Monaco-Signature", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.apimonaco.xyz/api/v1/pitpass/referrals/me")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Monaco-Signature"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"referrer": "0x0000000000000000000000000000000000000002",
"totalEarned": "1400000",
"referrerDisplay": "cooltrader123",
"rewards": [
{
"source": "0x0000000000000000000000000000000000000002",
"level": 1,
"amount": "1200000",
"token": "0x0000000000000000000000000000000000000002",
"rateApplied": "0.30",
"createdAt": "2026-07-07T18:00:00Z",
"sourceDisplay": "cooltrader123"
}
],
"upline": [
{
"wallet": "0x0000000000000000000000000000000000000002",
"display": "<string>",
"level": 5
}
]
}Authorizations
Ed25519 session-key request signing. Every authenticated request carries three headers: X-Monaco-PublicKey (64-char lowercase-hex session public key), X-Monaco-Timestamp (Unix milliseconds, within 30s of server time), and X-Monaco-Signature (hex ed25519 signature). The signature is over METHOD\npath?query\ntimestamp_ms\nSHA256_hex(body), where the body hash is the SHA-256 of the empty byte string when there is no body. Obtain the session keypair from POST /api/v1/auth/challenge followed by POST /api/v1/auth/verify.
Response
OK
Public wallet address of the caller's direct (L1) referrer — who referred them. Empty when the caller was not referred. The same wallet as the first upline entry; never an internal id.
"0x0000000000000000000000000000000000000002"
Total reward amount the caller has earned, summed across every level and token, in RAW atomic units.
"1400000"
Human-facing name for the referrer: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as referrer). Empty when the caller was not referred. Render this instead of raw hex.
"cooltrader123"
The caller's most recent reward rows, newest first. Bounded server-side — not the full history.
Show child attributes
Show child attributes
The caller's referral chain upward, nearest first: L1 (who referred the caller), then L2 (who referred them), and so on. At most as many entries as PitPass currently rewards levels (at most 10); shorter when the chain ends, empty when the caller was not referred. These are the wallets the caller's own trades pay referral rewards to.
Show child attributes
Show child attributes
Was this page helpful?

