Markets
Query parameters
orderBystring · enumOptionalDefault:
createdAtPossible values: orderDirectionstring · enumOptionalDefault:
descPossible values: dayRangeinteger | nullableOptionalDefault:
nullfilterQuerystring · min: 2 · max: 100Optional
limitinteger · max: 100OptionalDefault:
50offsetnumberOptionalDefault:
0Responses
200
Successful response
application/json
400
Invalid input data
application/json
404
Not found
application/json
500
Internal server error
application/json
get
/marketsGET /api/v2/markets HTTP/1.1
Host: api.ethos.network
Accept: */*
{
"values": [
{
"id": 1,
"creatorAddress": "text",
"positivePrice": "text",
"negativePrice": "text",
"trustVotes": 1,
"distrustVotes": 1,
"createdAt": "text",
"updatedAt": "text",
"basePrice": "text",
"creationCost": "text",
"liquidity": "text",
"configType": "VOLATILE",
"user": {
"id": 1,
"profileId": 1,
"displayName": "text",
"username": "text",
"avatarUrl": "https://example.com",
"description": "text",
"score": 1,
"status": "ACTIVE",
"userkeys": [
"text"
],
"xpTotal": 1,
"xpStreakDays": 1,
"xpRemovedDueToAbuse": true,
"links": {
"profile": "https://example.com",
"scoreBreakdown": "https://example.com"
},
"stats": {
"review": {
"received": {
"negative": 1,
"neutral": 1,
"positive": 1
}
},
"vouch": {
"given": {
"amountWeiTotal": 1,
"count": 1
},
"received": {
"amountWeiTotal": 1,
"count": 1
}
}
}
},
"stats": {
"marketCapWei": "text",
"marketCapChange24hWei": "text",
"marketCapChange24hPercent": 1,
"volumeTotalWei": "text",
"volume24hWei": "text",
"priceChange24hPercent": 1
}
}
],
"total": 1,
"limit": 1,
"offset": 1
}Query parameters
changeTypestring · enumOptionalDefault:
priceChange24hPercentPossible values: Responses
200
Successful response
application/json
400
Invalid input data
application/json
404
Not found
application/json
500
Internal server error
application/json
get
/markets/featuredGET /api/v2/markets/featured HTTP/1.1
Host: api.ethos.network
Accept: */*
[
{
"type": "top-volume",
"market": {
"id": 1,
"creatorAddress": "text",
"positivePrice": "text",
"negativePrice": "text",
"trustVotes": 1,
"distrustVotes": 1,
"createdAt": "text",
"updatedAt": "text",
"basePrice": "text",
"creationCost": "text",
"liquidity": "text",
"configType": "VOLATILE",
"user": {
"id": 1,
"profileId": 1,
"displayName": "text",
"username": "text",
"avatarUrl": "https://example.com",
"description": "text",
"score": 1,
"status": "ACTIVE",
"userkeys": [
"text"
],
"xpTotal": 1,
"xpStreakDays": 1,
"xpRemovedDueToAbuse": true,
"links": {
"profile": "https://example.com",
"scoreBreakdown": "https://example.com"
},
"stats": {
"review": {
"received": {
"negative": 1,
"neutral": 1,
"positive": 1
}
},
"vouch": {
"given": {
"amountWeiTotal": 1,
"count": 1
},
"received": {
"amountWeiTotal": 1,
"count": 1
}
}
}
},
"stats": {
"marketCapWei": "text",
"marketCapChange24hWei": "text",
"marketCapChange24hPercent": 1,
"volumeTotalWei": "text",
"volume24hWei": "text",
"priceChange24hPercent": 1
}
}
}
]Path parameters
profileIdinteger · max: 2147483647Required
Query parameters
voteTypestring · enumOptionalPossible values:
orderBystring · enumOptionalDefault:
holdingsPossible values: orderDirectionstring · enumOptionalDefault:
descPossible values: limitinteger · max: 500OptionalDefault:
50offsetnumberOptionalDefault:
0Responses
200
Successful response
application/json
400
Invalid input data
application/json
404
Not found
application/json
500
Internal server error
application/json
get
/markets/{profileId}/holdersGET /api/v2/markets/{profileId}/holders HTTP/1.1
Host: api.ethos.network
Accept: */*
{
"values": [
{
"actorAddress": "text",
"marketId": 1,
"voteType": "trust",
"total": 1,
"user": {
"id": 1,
"profileId": 1,
"displayName": "text",
"username": "text",
"avatarUrl": "https://example.com",
"description": "text",
"score": 1,
"status": "ACTIVE",
"userkeys": [
"text"
],
"xpTotal": 1,
"xpStreakDays": 1,
"xpRemovedDueToAbuse": true,
"links": {
"profile": "https://example.com",
"scoreBreakdown": "https://example.com"
},
"stats": {
"review": {
"received": {
"negative": 1,
"neutral": 1,
"positive": 1
}
},
"vouch": {
"given": {
"amountWeiTotal": 1,
"count": 1
},
"received": {
"amountWeiTotal": 1,
"count": 1
}
}
}
}
}
],
"total": 1,
"limit": 1,
"offset": 1
}Path parameters
profileIdinteger · max: 2147483647Required
Query parameters
timeWindowstring · enumOptionalDefault:
7DPossible values: customBucketstring · enumOptionalPossible values:
Responses
200
Successful response
application/json
400
Invalid input data
application/json
404
Not found
application/json
500
Internal server error
application/json
get
/markets/{profileId}/price/historyGET /api/v2/markets/{profileId}/price/history HTTP/1.1
Host: api.ethos.network
Accept: */*
{
"data": [
{
"timeBucket": "text",
"price": {
"trustWei": 1,
"distrustWei": 1,
"trustUsd": 1,
"distrustUsd": 1,
"totalWei": 1,
"totalUsd": 1
},
"marketCap": {
"trustWei": 1,
"distrustWei": 1,
"trustUsd": 1,
"distrustUsd": 1,
"totalWei": 1,
"totalUsd": 1
}
}
],
"timeWindow": "1H",
"bucket": "30 seconds"
}Body
profileIdinteger · max: 2147483647Required
voteTypestring · enumRequiredPossible values:
buyAmountWeiinteger · int64Required
slippagePercentagenumber · max: 1OptionalDefault:
0.01Responses
200
Successful response
application/json
400
Invalid input data
application/json
500
Internal server error
application/json
post
/markets/simulate-buyPOST /api/v2/markets/simulate-buy HTTP/1.1
Host: api.ethos.network
Content-Type: application/json
Accept: */*
Content-Length: 77
{
"profileId": 1,
"voteType": "trust",
"buyAmountWei": 1,
"slippagePercentage": 0.01
}{
"votes": 1,
"newPrice": 1,
"impactPct": 1,
"trend": "up"
}Supports market cap and price change calculations. Volume change coming soon.
Path parameters
profileIdinteger · max: 2147483647Required
Query parameters
daysinteger · min: 1 · max: 90OptionalDefault:
7typestring · enumOptionalDefault:
marketCapPossible values: Responses
200
Successful response
application/json
400
Invalid input data
application/json
404
Not found
application/json
500
Internal server error
application/json
get
/markets/{profileId}/changeGET /api/v2/markets/{profileId}/change HTTP/1.1
Host: api.ethos.network
Accept: */*
{
"profileId": 1,
"change": {
"trust": {
"latestWei": 1,
"latestUsd": 1,
"changeWei": 1,
"changeUsd": 1,
"changePercent": 1
},
"distrust": {
"latestWei": 1,
"latestUsd": 1,
"changeWei": 1,
"changeUsd": 1,
"changePercent": 1
},
"total": {
"latestWei": 1,
"latestUsd": 1,
"changeWei": 1,
"changeUsd": 1,
"changePercent": 1
}
},
"days": 1
}Enhanced market info with optional top holders and market change data
Path parameters
profileIdinteger · max: 2147483647Required
Body
marketTopHoldersLimitinteger · max: 10OptionalDefault:
0Responses
200
Successful response
application/json
400
Invalid input data
application/json
500
Internal server error
application/json
post
/markets/{profileId}/infoPOST /api/v2/markets/{profileId}/info HTTP/1.1
Host: api.ethos.network
Content-Type: application/json
Accept: */*
Content-Length: 78
{
"marketTopHoldersLimit": 0,
"marketChangeParams": {
"type": "marketCap",
"days": 7
}
}{
"id": 1,
"creatorAddress": "text",
"positivePrice": "text",
"negativePrice": "text",
"trustVotes": 1,
"distrustVotes": 1,
"createdAt": "text",
"updatedAt": "text",
"basePrice": "text",
"creationCost": "text",
"liquidity": "text",
"configType": "VOLATILE",
"user": {
"id": 1,
"profileId": 1,
"displayName": "text",
"username": "text",
"avatarUrl": "https://example.com",
"description": "text",
"score": 1,
"status": "ACTIVE",
"userkeys": [
"text"
],
"xpTotal": 1,
"xpStreakDays": 1,
"xpRemovedDueToAbuse": true,
"links": {
"profile": "https://example.com",
"scoreBreakdown": "https://example.com"
},
"stats": {
"review": {
"received": {
"negative": 1,
"neutral": 1,
"positive": 1
}
},
"vouch": {
"given": {
"amountWeiTotal": 1,
"count": 1
},
"received": {
"amountWeiTotal": 1,
"count": 1
}
}
}
},
"stats": {
"marketCapWei": "text",
"marketCapChange24hWei": "text",
"marketCapChange24hPercent": 1,
"volumeTotalWei": "text",
"volume24hWei": "text",
"priceChange24hPercent": 1
},
"marketTopHolders": {
"trust": [
{
"actorAddress": "text",
"marketId": 1,
"voteType": "trust",
"total": 1,
"user": {
"id": 1,
"profileId": 1,
"displayName": "text",
"username": "text",
"avatarUrl": "https://example.com",
"description": "text",
"score": 1,
"status": "ACTIVE",
"userkeys": [
"text"
],
"xpTotal": 1,
"xpStreakDays": 1,
"xpRemovedDueToAbuse": true,
"links": {
"profile": "https://example.com",
"scoreBreakdown": "https://example.com"
},
"stats": {
"review": {
"received": {
"negative": 1,
"neutral": 1,
"positive": 1
}
},
"vouch": {
"given": {
"amountWeiTotal": 1,
"count": 1
},
"received": {
"amountWeiTotal": 1,
"count": 1
}
}
}
}
}
],
"distrust": [
{
"actorAddress": "text",
"marketId": 1,
"voteType": "trust",
"total": 1,
"user": {
"id": 1,
"profileId": 1,
"displayName": "text",
"username": "text",
"avatarUrl": "https://example.com",
"description": "text",
"score": 1,
"status": "ACTIVE",
"userkeys": [
"text"
],
"xpTotal": 1,
"xpStreakDays": 1,
"xpRemovedDueToAbuse": true,
"links": {
"profile": "https://example.com",
"scoreBreakdown": "https://example.com"
},
"stats": {
"review": {
"received": {
"negative": 1,
"neutral": 1,
"positive": 1
}
},
"vouch": {
"given": {
"amountWeiTotal": 1,
"count": 1
},
"received": {
"amountWeiTotal": 1,
"count": 1
}
}
}
}
}
]
},
"marketChange": {
"profileId": 1,
"change": {
"trust": {
"latestWei": 1,
"latestUsd": 1,
"changeWei": 1,
"changeUsd": 1,
"changePercent": 1
},
"distrust": {
"latestWei": 1,
"latestUsd": 1,
"changeWei": 1,
"changeUsd": 1,
"changePercent": 1
},
"total": {
"latestWei": 1,
"latestUsd": 1,
"changeWei": 1,
"changeUsd": 1,
"changePercent": 1
}
},
"days": 1
}
}Path parameters
addressstringRequired
Responses
200
Successful response
application/json
400
Invalid input data
application/json
404
Not found
application/json
500
Internal server error
application/json
get
/markets/users/by/address/{address}GET /api/v2/markets/users/by/address/{address} HTTP/1.1
Host: api.ethos.network
Accept: */*
{
"profileId": 1,
"twitterUsername": "text",
"twitterName": "text",
"twitterUserId": "text",
"walletAddress": "text",
"avatarUrl": "text",
"createdAt": "text",
"updatedAt": "text"
}Path parameters
usernamestringRequired
Responses
200
Successful response
application/json
400
Invalid input data
application/json
404
Not found
application/json
500
Internal server error
application/json
get
/markets/users/by/x/{username}GET /api/v2/markets/users/by/x/{username} HTTP/1.1
Host: api.ethos.network
Accept: */*
{
"profileId": 1,
"twitterUsername": "text",
"twitterName": "text",
"twitterUserId": "text",
"walletAddress": "text",
"avatarUrl": "text",
"createdAt": "text",
"updatedAt": "text"
}Last updated