Projects & Stats
Stats & Information about an NFT project
Internally we interchangeably use the term collection and projects. For the longest time NFT marketplaces had to maintain their own collection id or grouping of a NFT project. We currently assign our own identifier to a nft project. It is identified as project_id.
NOTE: As of May 2022, acceptable project_id values can now be metaplex collection id, our project_id, and first creator public key.
This is the same identifier found in the url of our collections page.

ProjectStat is returned by the following APIs documented below. It contains information and stats about a single NFT collection that we collect every 5 minutes and show in our leaderboard. Project information is contained within the project object. This contains general information about project such as collection size, discord, and most importantly project_attributes.
ProjectStat {
project_id
market_cap
volume_7day
volume_1day_change
floor_price
floor_price_1day_change
average_price
average_price_1day_change
max_price
twitter_followers
num_of_token_listed
num_of_token_holders
percentage_of_token_listed
volume_1day
project {
supply
website
twitter
discord
img_url
is_verified
display_name
project_attributes {
name
type
values
counts
}
}
}
is_verified
This flag means the collection has been verified by us. We use this flag to determine if we want to list the project on our marketplace.
project_attributes
We store attribute information in project_attributes. This is what we use to determine how to search for tokens that share the same attribute.
Project attributes is an array of objects or dictionary
Each item consists of the following:
{
// Name of the attribute
name
// Is the attribute a range or is it a category?
// "RANGE" | "CATEGORICAL"
type
// Array of possible attribute values.
// If type is Categorical it is all strings.
// If type is Range it is a 2d array of min / max inclusive.
values
// A dictionary of attribute_value => its count
// e.g. {"Red": 500}
counts
}
You can look up a project by name (we search against its display name). In addition you can pass in a tag to a collections rank based off the tag (e.g. PFP, Gaming, etc).
Function: searchProjectByName
Inputs:
- [Optional] name
- Type: String
- Description: Display name to search against
- [Optional] meSlug
- Type: StringInputArg
- Description: ME slug
- [Optional] twitter
- Type: StringInputArg
- Description: Twitter url (e.g. https://twitter.com/hyperspacexyz)
- [Optional] matchName
- Type: StringInputArg
- Description: To not break the existing name query, we now allow fuzzy/exact match on project name
- [Optional] tag
- Type: String
- Description: Tag to rank against
- Allowed Values (Case Sensitive):
- PFPGamingCollectiblesGenerative ArtUtilityVirtual WorldNEW
- To rank against "All" leave the tag input blank.
Response:
- Type: SearchProjectByNameQuery
Reference Usage:

Example using the SDK:
// Example
import { HyperspaceClient } from "hyperspace-js";
const hsClient = new HyperspaceClient(API_KEY);
// Ranked by ALL
hsClient.searchProjectByName({condition : {name: "degen ape"}})
// Ranked by tag
hsClient.searchProjectByName({condition: {name: "degen ape", tag: "PFP"}});
// exact match on me_slug
hsClient.searchProjectByName({condition: {meSlug: {
operation: StringInputOperationEnum.Exact,
value: "d_a_s"
}}}).then((result: SearchProjectByNameQuery) => {
console.log(result.getProjectStatByName.project_stats);
})
// exact match on twitter url
hsClient.searchProjectByName({condition: {twitter: {
operation: StringInputOperationEnum.Exact,
value: "https://twitter.com/hyperspacexyz"
}}}).then((result: SearchProjectByNameQuery) => {
console.log(result.getProjectStatByName.project_stats);
})
Function: getProjects
Inputs:
- orderBy
- Type: OrderConfig
- Allowed Values (Case Sensitive)
- market_capvolume_7dayvolume_1day_changefloor_pricefloor_price_1day_changeaverage_priceaverage_price_1day_changemax_pricetwitter_followersnum_of_token_listednum_of_token_holderspercentage_of_token_listedvolume_1day
- paginationInfo
- Type: PaginationConfig
Response:
- Type: GetProjectStatsQuery
const hsClient = new HyperspaceClient(API_KEY);
hsClient.getProjects({
orderBy: {
field_name: "market_cap",
sort_order: SortOrderEnum.Asc
}
});
Last modified 10mo ago