REST APIInstitutional API
Points
Points registration, leaderboard, and per-user balances.
Register User
Process referral signup bonus and create referral entries.
Auth: wallet signature over a canonical message containing the user
address, optional referrer, a single-use nonce, and an expiry. See
_verify_register_signature for the validation rules.
user_addressUser Address
referrer_address?Referrer Address
chain_idChain Id
Range
1 <= valuesignatureSignature
Match
^0x[0-9a-fA-F]+$nonceNonce
Length
8 <= length <= 128expiryExpiry
Range
0 <= valueResponse Body
curl -X POST "https://api.upshift.finance/api/v1/upshift/points/register" \ -H "Content-Type: application/json" \ -d '{ "user_address": "string", "chain_id": 1, "signature": "string", "nonce": "stringst", "expiry": 0 }'{
"success": true,
"message": "string",
"user_id": "string",
"referral_bonus_awarded": false
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}Get Leaderboard
Get leaderboard with pagination and optional user search.
- Without search params: Returns paginated leaderboard
- With wallet_address or ens_name: Returns ONLY that specific user with their rank
Query Parameters
page?Page
Default
1Range
1 <= valueperPage?Perpage
Default
10Range
1 <= value <= 100sortBy?Sortby
Default
"totalPoints"Value in
"totalPoints" | "streakDays"wallet_address?Wallet Address
Search for specific wallet address - returns only that user
ens_name?Ens Name
Search for specific ENS name - returns only that user
chain?Chain
Chain ID for ENS resolution (default: 1 for mainnet)
Response Body
curl -X GET "https://api.upshift.finance/api/v1/upshift/points/leaderboard?page=1&perPage=10&sortBy=totalPoints&wallet_address=string&ens_name=string&chain=0"{
"page": 0,
"perPage": 0,
"totalItems": 0,
"totalPages": 0,
"items": [
{
"rank": 0,
"userAddress": "string",
"topVault": {
"name": "string",
"address": "string",
"deposit": {}
},
"streakDays": 0,
"streakTooltip": "Total number of days a user has held a deposit in any Upshift vault.",
"totalPoints": 0
}
]
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}curl -X GET "https://api.upshift.finance/api/v1/upshift/points/string"{
"totalPoints": 0,
"referralEarnings": 0,
"pools": {
"property1": {
"amountDepositedInUsd": 0,
"nativeAmountDeposited": 0,
"totalPoints": 0,
"hasPendingRewards": false
},
"property2": {
"amountDepositedInUsd": 0,
"nativeAmountDeposited": 0,
"totalPoints": 0,
"hasPendingRewards": false
}
},
"external": {
"property1": {
"protocol": "string",
"externalName": "string",
"amountDepositedInUsd": 0,
"nativeAmountDeposited": 0,
"totalPoints": 0,
"multiplier": 1
},
"property2": {
"protocol": "string",
"externalName": "string",
"amountDepositedInUsd": 0,
"nativeAmountDeposited": 0,
"totalPoints": 0,
"multiplier": 1
}
},
"referrals": {
"property1": {
"totalPoints": 0,
"amountDepositedInUsd": 0,
"nativeAmountDeposited": 0
},
"property2": {
"totalPoints": 0,
"amountDepositedInUsd": 0,
"nativeAmountDeposited": 0
}
},
"topVault": {
"lifetimeDeposit": 0,
"address": "string"
},
"streak": 0,
"daily_streak_points": 0,
"manual_points": 0,
"rank": 0
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}