Get user fee tier
curl --request GET \
--url https://api.mainnet.kuru.io/api/v1/users/{userId}/fee-tierconst options = {method: 'GET'};
fetch('https://api.mainnet.kuru.io/api/v1/users/{userId}/fee-tier', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.mainnet.kuru.io/api/v1/users/{userId}/fee-tier"
response = requests.get(url)
print(response.text){
"feedEpoch": "0",
"data": {
"userId": "4",
"rootUserId": "2",
"accountFeeTier": {
"makerFeePps": "4000",
"takerFeePps": "7000"
}
}
}
Data Source REST methods
Get user fee tier
Read active root-account fee-tier rates, or exchange defaults when missing or inactive.
GET
/
api
/
v1
/
users
/
{userId}
/
fee-tier
Get user fee tier
curl --request GET \
--url https://api.mainnet.kuru.io/api/v1/users/{userId}/fee-tierconst options = {method: 'GET'};
fetch('https://api.mainnet.kuru.io/api/v1/users/{userId}/fee-tier', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.mainnet.kuru.io/api/v1/users/{userId}/fee-tier"
response = requests.get(url)
print(response.text){
"feedEpoch": "0",
"data": {
"userId": "4",
"rootUserId": "2",
"accountFeeTier": {
"makerFeePps": "4000",
"takerFeePps": "7000"
}
}
}
Returns rates from the latest indexed
These are assigned account rates, not effective trading fees. The endpoint
does not calculate market caps, referral discounts, or builder fees. Fixed exchange
defaults apply when the latest assignment is missing or inactive. The
An unknown user returns HTTP 200 with
AccountFeeTierUpdated assignment when
active, otherwise exchange defaults. Subaccounts inherit the root account’s tier. No query parameters or request
body are accepted.
string
required
Unsigned 64-bit Kuru account ID as a decimal string.
string | null
required
Materialization feed epoch, or
null before initialization. "0" is a valid
initial epoch, not a missing-data sentinel. This is not a replay sequence.string
required
Requested account ID.
string | null
required
Registered root account ID. Null for an unknown or incompletely registered account.
object
required
Latest indexed assignment’s rates when active. When absent or inactive, returns
exchange defaults: maker 1 BPS (
"1000" PPS), taker 2 BPS ("2000" PPS).
A later inactive assignment supersedes any earlier active assignment.string
required
Assigned integer maker rate in protocol PPS units, with denominator
10,000,000. For example, "4000" represents 0.04%. Not a token or x18 amount.string
required
Assigned integer taker rate in the same PPS units.
"7000" represents 0.07%.active
boolean is no longer returned. Active assignments with zero rates retain those zero rates.
Illustrative response (not a claim that this account has these rates):
{
"feedEpoch": "0",
"data": {
"userId": "4",
"rootUserId": "2",
"accountFeeTier": {
"makerFeePps": "4000",
"takerFeePps": "7000"
}
}
}
rootUserId set to null and the default
accountFeeTier. Invalid IDs or unknown query parameters return 400. Unsupported
methods, including POST, return 405.Path Parameters
Response
200
Fee tier