Skip to content

Get the caller’s protected vouches

GET
/vouches/protected
curl --request GET \
--url 'https://api.ethos.network/api/v2/vouches/protected?profileId=1&limit=50' \
--header 'X-Ethos-Api-Key: <X-Ethos-Api-Key>'

List the vouches that you made before WHUF started. You have not converted these vouches to WHUF yet. Cursor-paginated, newest vouch id first. Each item carries two amounts: stakedWei is the amount frozen at the snapshot, and liveBalanceWei is the current V1 balance. You can convert the vouch to WHUF, or vouch again if you already removed it. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

profileId
required
integer
> 0 <= 2147483647
cursor
integer
<= 9007199254740991
limit
integer
default: 50 >= 1 <= 100

Successful response

Media typeapplication/json
object
nextCursor
required
number | null
values
required
Array<object>
object
authorAddress
required

Ethereum address (0x-prefixed, 20 bytes)

string
liveBalanceWei
required
string
state
required
string
Allowed values: live archived
stakedWei
required
string
subjectUser
required
Any of:
object
id
required
number
profileId
required
number | null
displayName
required
string
username
required
string | null
avatarUrl
required
string format: uri
description
required
string | null
score
required
number
status
required
string
Allowed values: ACTIVE INACTIVE MERGED
userkeys
required
Array<string>
xpTotal
required
number
xpStreakDays
required
number
xpRemovedDueToAbuse
required
boolean
influenceFactor
required
number
influenceFactorPercentile
required
number
humanVerificationStatus
Any of:
string
Allowed values: REQUESTED VERIFIED REVOKED PENDING
validatorNftCount
required
number
meowMeowsNftCount
required
number
links
required
object
profile
required
string format: uri
scoreBreakdown
required
string format: uri
stats
required
object
holdingsWei
required
Any of:
integer format: int64
review
required
object
received
required
object
negative
required
number
neutral
required
number
positive
required
number
vouch
required

@deprecated Native-currency lifetime totals only. Use stats.vouchTotals (per-token). Removed after 2026-10-20.

object
given
required
object
amountWeiTotal
required
integer format: int64
count
required
number
received
required
object
amountWeiTotal
required
integer format: int64
count
required
number
vouchTotals
required
Array<object>
>= 1 items
object
balance
required
object
given
required
integer format: int64
received
required
integer format: int64
count
required
object
given
required
integer
<= 9007199254740991
received
required
integer
<= 9007199254740991
token
required
object
address
required
Any of:

Ethereum address (0x-prefixed, 20 bytes)

string
decimals
required
integer
<= 9007199254740991
id
required

Lowercase token identifier

string
Allowed values: eth whuf
whufGuarantee
required
Any of:
object
asOf
required
string
expiresAt
required
string | null
guaranteedWei
required
integer format: int64
status
required
string
Allowed values: active expired
subjectUserkey
required
vouchId
required
number
vouchedAt
required
number
total
required
number

Example

{
"values": [
{
"state": "live",
"subjectUser": {
"status": "ACTIVE",
"humanVerificationStatus": "REQUESTED",
"stats": {
"vouchTotals": [
{
"token": {
"id": "eth"
}
}
],
"whufGuarantee": {
"status": "active"
}
}
}
}
]
}

Invalid input data

Media typeapplication/json
Invalid input data error (400)

The error information

object
message
required

The error message

string
code
required

The error code

string
issues

An array of issues that were responsible for the error

Array<object>
object
message
required
string

Example

{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}

Authorization not provided

Media typeapplication/json
Authorization not provided error (401)

The error information

object
message
required

The error message

string
code
required

The error code

string
issues

An array of issues that were responsible for the error

Array<object>
object
message
required
string

Example

{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}

Insufficient access

Media typeapplication/json
Insufficient access error (403)

The error information

object
message
required

The error message

string
code
required

The error code

string
issues

An array of issues that were responsible for the error

Array<object>
object
message
required
string

Example

{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}

Not found

Media typeapplication/json
Not found error (404)

The error information

object
message
required

The error message

string
code
required

The error code

string
issues

An array of issues that were responsible for the error

Array<object>
object
message
required
string

Example

{
"code": "NOT_FOUND",
"message": "Not found",
"issues": []
}

Internal server error

Media typeapplication/json
Internal server error error (500)

The error information

object
message
required

The error message

string
code
required

The error code

string
issues

An array of issues that were responsible for the error

Array<object>
object
message
required
string

Example

{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}