/positions/{accountId}/{asset}/scalping-coefficientWhether the account is currently inside the scalping window on this market — the period after an increase during which the market charges the elevated dynamic spread.
amountis the multiplier applied inside the window andamountRegularthe one applied outside it, both fp9.activeSinceandactiveUntilare returned only while the window is running; without a recent increase they are absent and the regular multiplier applies.recentVolume.longandrecentVolume.shortcontain the accumulated volume after the latest executed open or increase in each direction, in USD fp9 raw. It excludes the order currently being entered and is added to its size when calculating dynamic price impact.- Each direction has its own
updatedAtandactiveUntil: the volume decays linearly to zero over 60 seconds, independently of the scalping window. - A direction is null when its volume has fully recovered or it has no dynamic price impact snapshot.
https://api.upscale.tradeParameters
accountIdstring · uuidrequiredTrader account identifier. Must belong to the caller.
00000000-0000-4000-8000-000000000000assetstringrequiredBase asset ticker of the market, as returned by GET /v2/markets.
BTCExamples
curl --request GET 'https://api.upscale.trade/positions/{accountId}/{asset}/scalping-coefficient' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY'const response = await fetch("https://api.upscale.trade/positions/{accountId}/{asset}/scalping-coefficient", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
});
console.log(response.status, await response.text());import requests
response = requests.request(
"GET",
"https://api.upscale.trade/positions/{accountId}/{asset}/scalping-coefficient",
headers={"Accept":"application/json","Authorization":"Bearer YOUR_API_KEY"},
timeout=30,
)
print(response.status_code, response.text)Responses
Unauthorized
The account belongs to another user (account_access_denied), or the request is authenticated with an API key while api_trading is disabled on the account (api_trading_not_enabled).
No account with this identifier, or no market for this ticker.
Rate limit of the API key exceeded (api_key_rate_limit_exceeded). Retry-After says when to come back; the body carries the bucket (read / write), the window that tripped, its limit and retryAt.
defaultResponseapplication/json
activeSincestring · date-timeoptionalStart of the running scalping window — the last increase on this market. Absent when no increase happened inside the window.
2026-05-01T12:30:00.000ZactiveUntilstring · date-timeoptionalEnd of the running scalping window. Absent together with activeSince.
2026-05-01T12:30:00.000Zamountstring · fp9requiredSpread multiplier charged while the window is running, fp9 raw (2000000000 = 2x).
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000amountRegularstring · fp9requiredSpread multiplier charged outside the window, fp9 raw (1000000000 = 1x).
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000recentVolumeobjectrequiredAccumulated executed volume counted in the next open or increase, per direction, with its own recovery window; 60 seconds by default.
Object · 2 fields
longobject · nullablerequiredRecent long volume. Null when no volume remains in this direction.
Object · 3 fields
volumestring · fp9requiredVolume right after the latest execution, USD fp9 raw. It decays linearly from updatedAt to zero at activeUntil.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000updatedAtstring · date-timerequiredLatest execution of an open or increase in this direction.
2026-05-01T12:30:00.000ZactiveUntilstring · date-timerequiredMoment the volume decays to zero according to the trading recovery window; 60 seconds by default.
2026-05-01T12:30:00.000ZView example
{
"volume": "1000000000",
"updatedAt": "2026-05-01T12:30:00.000Z",
"activeUntil": "2026-05-01T12:30:00.000Z"
}shortobject · nullablerequiredRecent short volume. Null when no volume remains in this direction.
Object · 3 fields
volumestring · fp9requiredVolume right after the latest execution, USD fp9 raw. It decays linearly from updatedAt to zero at activeUntil.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000updatedAtstring · date-timerequiredLatest execution of an open or increase in this direction.
2026-05-01T12:30:00.000ZactiveUntilstring · date-timerequiredMoment the volume decays to zero according to the trading recovery window; 60 seconds by default.
2026-05-01T12:30:00.000ZView example
{
"volume": "1000000000",
"updatedAt": "2026-05-01T12:30:00.000Z",
"activeUntil": "2026-05-01T12:30:00.000Z"
}View example
{
"long": {
"volume": "1000000000",
"updatedAt": "2026-05-01T12:30:00.000Z",
"activeUntil": "2026-05-01T12:30:00.000Z"
},
"short": {
"volume": "1000000000",
"updatedAt": "2026-05-01T12:30:00.000Z",
"activeUntil": "2026-05-01T12:30:00.000Z"
}
}{
"activeSince": "2026-05-01T12:30:00.000Z",
"activeUntil": "2026-05-01T12:30:00.000Z",
"amount": "1000000000",
"amountRegular": "1000000000",
"recentVolume": {
"long": {
"volume": "1000000000",
"updatedAt": "2026-05-01T12:30:00.000Z",
"activeUntil": "2026-05-01T12:30:00.000Z"
},
"short": {
"volume": "1000000000",
"updatedAt": "2026-05-01T12:30:00.000Z",
"activeUntil": "2026-05-01T12:30:00.000Z"
}
}
}