Endpoint reference

GET /api/v1/indexer/project

Parameters

NameLocationDetails
X-Juicebox-Accountheader / requiredEnrolled account identity, including authority chain and lowercase owner address. Enrollment derives this identity before the account exists.
X-Juicebox-Signerheader / requiredOwner wallet or authorized bot address that signed this request.
X-Juicebox-Issued-Atheader / requiredUnix seconds, sent as 1–13 decimal digits without leading zeros; at most 30 seconds ahead of server time.
X-Juicebox-Expires-Atheader / requiredUnix seconds, sent as 1–13 decimal digits without leading zeros; in the future and within 300 seconds of issuedAt.
X-Juicebox-Nonceheader / requiredFresh random 32-byte lowercase nonce. A consumed nonce cannot be retried.
X-Juicebox-Signatureheader / requiredEIP-712 CenterRequest signature over every signed field. Contract-owner signatures may vary in length. This is a computed request proof, not a reusable API key.
X-Juicebox-Grantheader / optionalAuthorized bot grant ID. Required for a bot; omit for the owner, signing grantId as the empty string.
Idempotency-Keyheader / optionalSigned retry identity. Required on plan creation and transaction submission. Preserve exact method, target, Content-Type, and body bytes; use a fresh request nonce and signature.
networkquery / requiredstring

["mainnet","testnet"]

chainIdquery / optionalMust belong to the chosen indexer network.

[1,10,8453,42161,84532,421614,11155111,11155420]

projectIdquery / optionalList filters use the indexer's signed 32-bit GraphQL Int range.
fieldsquery / optionalBounded scalar field paths or supported singular relations. Identity fields are always included. Serialize as JSON once, percent-encode the query value, then sign the exact resulting request target.
filtersquery / optionalSerialize as JSON once, percent-encode the query value, then sign the exact resulting request target.
orderByquery / optionalSerialize as JSON once, percent-encode the query value, then sign the exact resulting request target.
limitquery / optionalinteger
cursorquery / optionalstring

Response 200

FieldTypeDetails
entitystring
required

Values: ["project"]

networkstring
required

Values: ["mainnet","testnet"]

protocolVersioninteger
required

Values: [6]

itemsarray
required
Fields
FieldTypeDetails
balancestring
optional
balanceUsdstring
optional
chainIdinteger
required

Values: [1,10,8453,42161,84532,421614,11155111,11155420]

contributorsCountinteger
optional
coverImageUrione of
optional
createdAtinteger
optional
createdWithinTrendingWindowone of
optional
creatorstring
optional
currencyone of
optional
decimalsone of
optional
deployerstring
optional
descriptionone of
optional
discordone of
optional
domainone of
optional
farcasterone of
optional
handleone of
optional
idstring
optional
infoUrione of
optional
isRevnetone of
optional
logoUrione of
optional
metadataone of
optional
metadataUrione of
optional
nameone of
optional
nftsMintedCountinteger
optional
ownerstring
optional
payDisclosureone of
optional
paymentsCountinteger
optional
projectIdstring
required
Exact nonnegative decimal string no greater than 2147483647.
projectTaglineone of
optional
redeemCountinteger
optional
redeemVolumestring
optional
redeemVolumeUsdstring
optional
reservedTokenSupplystring
optional
suckerGroupone of
optional
suckerGroupIdstring
optional
tagsone of
optional
telegramone of
optional
tokenone of
optional
tokenSupplystring
optional
tokenSymbolone of
optional
tokensone of
optional
trendingPaymentsCountinteger
optional
trendingScorestring
optional
trendingVolumestring
optional
trendingVolumeUsdstring
optional
twitterone of
optional
versioninteger
required

Values: [6]

volumestring
optional
volumeUsdstring
optional
totalCountinteger
required
pageInfoobject
required
Fields
FieldTypeDetails
hasNextPageboolean
required
hasPreviousPageboolean
required
startCursorone of
required
endCursorone of
required
nextCursorone of
required
provenanceobject
required
semanticsobject
required
Bendystraw indexing is not a canonical block-hash snapshot. Preserve lag, pagination, scope, and unknown-field semantics.
JSON schema
{
  "type": "object",
  "properties": {
    "entity": {
      "type": "string",
      "const": "project"
    },
    "network": {
      "type": "string",
      "enum": [
        "mainnet",
        "testnet"
      ]
    },
    "protocolVersion": {
      "$ref": "#/components/schemas/ProtocolVersion"
    },
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/IndexerRow_project"
      },
      "maxItems": 50
    },
    "totalCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "pageInfo": {
      "$ref": "#/components/schemas/IndexerPageInfo"
    },
    "nextCursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "provenance": {
      "type": "object",
      "additionalProperties": true
    },
    "semantics": {
      "$ref": "#/components/schemas/IndexerSemantics"
    }
  },
  "required": [
    "entity",
    "network",
    "protocolVersion",
    "items",
    "totalCount",
    "pageInfo",
    "nextCursor",
    "provenance",
    "semantics"
  ],
  "additionalProperties": false
}