Markets

List markets with pagination, sorting, and filtering

get
Query parameters
orderBystring · enumOptionalDefault: createdAtPossible values:
orderDirectionstring · enumOptionalDefault: descPossible values:
dayRangeinteger | nullableOptionalDefault: null
filterQuerystring · min: 2 · max: 100Optional
limitinteger · max: 100OptionalDefault: 50
offsetnumberOptionalDefault: 0
Responses
200

Successful response

application/json
get
/markets
GET /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
}
get
Query parameters
changeTypestring · enumOptionalDefault: priceChange24hPercentPossible values:
Responses
200

Successful response

application/json
get
/markets/featured
GET /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
      }
    }
  }
]

Get market holders with user data

get
Path parameters
profileIdinteger · max: 2147483647Required
Query parameters
voteTypestring · enumOptionalPossible values:
orderBystring · enumOptionalDefault: holdingsPossible values:
orderDirectionstring · enumOptionalDefault: descPossible values:
limitinteger · max: 500OptionalDefault: 50
offsetnumberOptionalDefault: 0
Responses
200

Successful response

application/json
get
/markets/{profileId}/holders
GET /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
}

Get market price history for chart with advanced features

get
Path parameters
profileIdinteger · max: 2147483647Required
Query parameters
timeWindowstring · enumOptionalDefault: 7DPossible values:
customBucketstring · enumOptionalPossible values:
Responses
200

Successful response

application/json
get
/markets/{profileId}/price/history
GET /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"
}

Simulate trust market purchase

post
Body
profileIdinteger · max: 2147483647Required
voteTypestring · enumRequiredPossible values:
buyAmountWeiinteger · int64Required
slippagePercentagenumber · max: 1OptionalDefault: 0.01
Responses
200

Successful response

application/json
post
/markets/simulate-buy
POST /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"
}

Get market change (market cap or price) data over specified days

get

Supports market cap and price change calculations. Volume change coming soon.

Path parameters
profileIdinteger · max: 2147483647Required
Query parameters
daysinteger · min: 1 · max: 90OptionalDefault: 7
typestring · enumOptionalDefault: marketCapPossible values:
Responses
200

Successful response

application/json
get
/markets/{profileId}/change
GET /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
}

Get enhanced market info with optional includes

post

Enhanced market info with optional top holders and market change data

Path parameters
profileIdinteger · max: 2147483647Required
Body
marketTopHoldersLimitinteger · max: 10OptionalDefault: 0
Responses
200

Successful response

application/json
post
/markets/{profileId}/info
POST /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
  }
}

Get markets user by the embedded wallet address used on ethos.markets

get
Path parameters
addressstringRequired
Responses
200

Successful response

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"
}

Get markets user by Twitter username

get
Path parameters
usernamestringRequired
Responses
200

Successful response

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