FeeService
Get Spot Fee Rates
Get effective maker and taker fee rates, the rates an order reserves its fee at, and the components of the effective rates for the authenticated account target.
Request
curl --request GET \ \ --url 'https://api.testnet.polyester.com/v1/spot/fee-rates?subaccountId=45LUmqjT&symbol=BTC-USDT' \ --header 'Accept: */*' \ --header 'X-API-KEY-ID: YOUR_API_KEY_ID' \ --header 'X-API-TIMESTAMP: YOUR_API_TIMESTAMP' \ --header 'X-API-SIGNATURE: YOUR_API_SIGNATURE'
Responses
{
"feeRates": [
{
"breakdown": {
"accountDiscounts": [
{
"allMarkets": false,
"effectiveFrom": "2025-01-01T00:00:00Z",
"effectiveTo": "2025-01-01T00:00:00Z",
"makerDiscountPercent": "example",
"takerDiscountPercent": "example"
}
],
"marketMultiplier": {
"effectiveFrom": "2025-01-01T00:00:00Z",
"effectiveTo": "2025-01-01T00:00:00Z",
"makerMultiplierPercent": "example",
"takerMultiplierPercent": "example"
},
"referralDiscount": {
"allMarkets": false,
"effectiveFrom": "2025-01-01T00:00:00Z",
"effectiveTo": "2025-01-01T00:00:00Z",
"makerDiscountPercent": "example",
"takerDiscountPercent": "example"
},
"tierMakerFeeRatePercent": "example",
"tierTakerFeeRatePercent": "example"
},
"makerFeeRatePercent": "0.09",
"nextChangeAt": "2025-01-01T00:00:00Z",
"postOnlyReserveFeeRatePercent": "example",
"reserveFeeRatePercent": "example",
"symbol": "BTC-USDT",
"takerFeeRatePercent": "0.03",
"vipTier": 1
}
]
}Optional sub-account public identifier.
Optional trading pair symbols; repeat the query parameter to select multiple markets.
True when the discount applies to every spot market; false when it applies to selected markets, this one included. A referral discount always applies to every spot market.
falseTime from which the discount is in force, inclusive.
2025-01-01T00:00:00ZTime at which the discount ends, exclusive. Omitted when it has no scheduled end.
2025-01-01T00:00:00ZMaker fee discount encoded as a base-10 percentage string without a percent sign, with at most two decimals. It lowers a positive maker rate only.
exampleTaker fee discount encoded as a base-10 percentage string without a percent sign, with at most two decimals.
exampleTime from which the fee schedule is in force, inclusive.
2025-01-01T00:00:00ZTime at which the fee schedule ends, exclusive. Omitted when it has no scheduled end.
2025-01-01T00:00:00ZMaker rate multiplier encoded as a base-10 percentage string without a percent sign, between 0 and 100 inclusive with at most two decimals.
exampleTaker rate multiplier encoded as a base-10 percentage string without a percent sign, between 0 and 100 inclusive with at most two decimals.
exampleTrue when the discount applies to every spot market; false when it applies to selected markets, this one included. A referral discount always applies to every spot market.
falseTime from which the discount is in force, inclusive.
2025-01-01T00:00:00ZTime at which the discount ends, exclusive. Omitted when it has no scheduled end.
2025-01-01T00:00:00ZMaker fee discount encoded as a base-10 percentage string without a percent sign, with at most two decimals. It lowers a positive maker rate only.
exampleTaker fee discount encoded as a base-10 percentage string without a percent sign, with at most two decimals.
exampleMaker fee rate of the account's VIP tier under the fee policy in force, before the market multiplier and discounts, encoded as a base-10 percentage string without a percent sign. Values are between -100 and 100 inclusive; a negative rate is a rebate.
exampleTaker fee rate of the account's VIP tier under the fee policy in force, before the market multiplier and discounts, encoded as a non-negative base-10 percentage string without a percent sign, between 0 and 100 inclusive.
exampleEffective maker fee rate encoded as a base-10 percentage string without a percent sign. Values are between -100 and 100 inclusive. It is computed from breakdown as SpotFeeRateBreakdown describes.
0.09Earliest scheduled time at which a component of these rates starts or ends: a fee schedule or discount in breakdown ending, or a VIP tier, fee policy, fee schedule or discount not yet in force starting. The effective and reserve rates can change then, or stay the same. Omitted when no change is scheduled.
2025-01-01T00:00:00ZFee rate a new post-only limit order on this market reserves its fee at when the fee is paid in the quote asset, encoded as a non-negative base-10 percentage string without a percent sign, between 0 and 100 inclusive: the highest maker rate of every VIP tier under the fee schedule in force on this market, as reserve_fee_rate_percent describes.
exampleFee rate a new order on this market reserves its fee at when the fee is paid in the quote asset, encoded as a non-negative base-10 percentage string without a percent sign, between 0 and 100 inclusive. It is the highest maker or taker rate of every VIP tier under the fee schedule in force on this market, so it is at least the effective rates and discounts never lower it. A buy limit order that pays its fee in the quote asset reserves N + F, computed in units of 10^-18 of the quote asset whatever the quote asset's own decimals: N is its price times its quantity rounded up to 10^-18, and F is N times this rate rounded up to 10^-18. It has sufficient quote balance when N + F is at most the available quote balance, compared in the same 10^-18 units; other order validation and market limits still apply. A post-only limit order reserves at post_only_reserve_fee_rate_percent instead, and a buy sized by a quote amount reserves at the lower of this rate and taker_fee_rate_percent. Fills charge the effective rate, and the rest of the reserve is released as the order fills or ends.
exampleTrading pair symbol, e.g. BTC-USDT.
BTC-USDTEffective taker fee rate encoded as a non-negative base-10 percentage string without a percent sign. Values are between 0 and 100 inclusive. It is computed from breakdown as SpotFeeRateBreakdown describes.
0.03VIP tier used to resolve these rates, in the inclusive range 0 through 10.
1| Key | HTTP status | Connect code | Error | When |
|---|---|---|---|---|
| unauthenticated | 401 | unauthenticated | Unauthenticated | Authentication required. |
| permission-denied | 403 | permission_denied | Permission Denied | Permission denied. |
| invalid-argument | 400 | invalid_argument | Invalid Argument | Invalid argument. |
| not-found | 404 | not_found | Not Found | Not found. |
| unavailable | 503 | unavailable | Unavailable | Service unavailable. |