NFTIndexer API

Documentation for Blockparty NFTIndexer

API Endpoints

COMING SOON

Queries

balance

Response

Returns a Balance

Arguments

Name Description

owner - ID!

contract - ID!

tokenID - String

contractType - ContractType

Example

Query
query balance(
  $owner: ID!,
  $contract: ID!,
  $tokenID: String,
  $contractType: ContractType
) {
  balance(
    owner: $owner,
    contract: $contract,
    tokenID: $tokenID,
    contractType: $contractType
  ) {
    owner
    contract {
      ...ContractFragment
    }
    token {
      ...TokenFragment
    }
    value
  }
}

Variables

{
  "owner": "4",
  "contract": "4",
  "tokenID": "xyz789",
  "contractType": "UNKNOWN"
}

Response

{
  "data": {
    "balance": {
      "owner": "abc123",
      "contract": Contract,
      "token": Token,
      "value": "abc123"
    }
  }
}

balances

Response

Returns a Balances!

Arguments

Name Description

first - Int

Default = 10

skip - Int

Default = 0

after - String

owner - ID!

where - BalanceFilter

orderBy - BalanceOrderBy

orderDirection - OrderDirection

whereToken - TokenFilter

whereContract - ContractFilter

Example

Query
query balances(
  $first: Int,
  $skip: Int,
  $after: String,
  $owner: ID!,
  $where: BalanceFilter,
  $orderBy: BalanceOrderBy,
  $orderDirection: OrderDirection,
  $whereToken: TokenFilter,
  $whereContract: ContractFilter
) {
  balances(
    first: $first,
    skip: $skip,
    after: $after,
    owner: $owner,
    where: $where,
    orderBy: $orderBy,
    orderDirection: $orderDirection,
    whereToken: $whereToken,
    whereContract: $whereContract
  ) {
    count
    remaining
    cursor
    balances {
      ...BalanceFragment
    }
  }
}

Variables

{
  "first": 10,
  "skip": 0,
  "after": "xyz789",
  "owner": 4,
  "where": BalanceFilter,
  "orderBy": "CONTRACT",
  "orderDirection": "ASC",
  "whereToken": TokenFilter,
  "whereContract": ContractFilter
}

Response

{
  "data": {
    "balances": {
      "count": UInt64,
      "remaining": UInt64,
      "cursor": "xyz789",
      "balances": [Balance]
    }
  }
}

contract

Response

Returns a Contract

Arguments

Name Description

id - ID!

Example

Query
query contract($id: ID!) {
  contract(id: $id) {
    id
    type
    isERC20
    isERC721
    isERC1155
    name
    symbol
    decimals
    supportsMetadata
    createdAt
    createdBlock
    holders
    tokens {
      ...TokensFragment
    }
  }
}

Variables

{"id": 4}

Response

{
  "data": {
    "contract": {
      "id": 4,
      "type": "UNKNOWN",
      "isERC20": false,
      "isERC721": true,
      "isERC1155": false,
      "name": "xyz789",
      "symbol": "xyz789",
      "decimals": 987,
      "supportsMetadata": false,
      "createdAt": "10:15:30Z",
      "createdBlock": 987,
      "holders": 987,
      "tokens": Tokens
    }
  }
}

contracts

Response

Returns a Contracts!

Arguments

Name Description

first - Int

Default = 10

skip - Int

Default = 0

after - String

where - ContractFilter

orderBy - ContractOrderBy

orderDirection - OrderDirection

Example

Query
query contracts(
  $first: Int,
  $skip: Int,
  $after: String,
  $where: ContractFilter,
  $orderBy: ContractOrderBy,
  $orderDirection: OrderDirection
) {
  contracts(
    first: $first,
    skip: $skip,
    after: $after,
    where: $where,
    orderBy: $orderBy,
    orderDirection: $orderDirection
  ) {
    count
    remaining
    cursor
    contracts {
      ...ContractFragment
    }
  }
}

Variables

{
  "first": 10,
  "skip": 0,
  "after": "abc123",
  "where": ContractFilter,
  "orderBy": "ID",
  "orderDirection": "ASC"
}

Response

{
  "data": {
    "contracts": {
      "count": UInt64,
      "remaining": UInt64,
      "cursor": "xyz789",
      "contracts": [Contract]
    }
  }
}

token

Response

Returns a Token

Arguments

Name Description

contract - ID!

tokenID - ID!

Example

Query
query token(
  $contract: ID!,
  $tokenID: ID!
) {
  token(
    contract: $contract,
    tokenID: $tokenID
  ) {
    contract {
      ...ContractFragment
    }
    tokenID
    tokenURI
    tokenURIStatus
    image {
      ...ImageFragment
    }
    metadataStatus
    metadataContent
    metadataContentType
    createdAt
    createdBlock
    burnedAt
    burnedBlock
    errorMsg
    name
    description
    expired
    dexTrades
    holders {
      ...BalancesFragment
    }
  }
}

Variables

{"contract": 4, "tokenID": "4"}

Response

{
  "data": {
    "token": {
      "contract": Contract,
      "tokenID": "abc123",
      "tokenURI": "xyz789",
      "tokenURIStatus": "OK",
      "image": Image,
      "metadataStatus": "OK",
      "metadataContent": "xyz789",
      "metadataContentType": "xyz789",
      "createdAt": "10:15:30Z",
      "createdBlock": 987,
      "burnedAt": "10:15:30Z",
      "burnedBlock": 123,
      "errorMsg": "abc123",
      "name": "xyz789",
      "description": "abc123",
      "expired": true,
      "dexTrades": 123,
      "holders": Balances
    }
  }
}

tokenCount

Response

Returns an UInt64!

Arguments

Name Description

where - TokenFilter

whereContract - ContractFilter

whereSwap - SwapFilter

Example

Query
query tokenCount(
  $where: TokenFilter,
  $whereContract: ContractFilter,
  $whereSwap: SwapFilter
) {
  tokenCount(
    where: $where,
    whereContract: $whereContract,
    whereSwap: $whereSwap
  )
}

Variables

{
  "where": TokenFilter,
  "whereContract": ContractFilter,
  "whereSwap": SwapFilter
}

Response

{"data": {"tokenCount": UInt64}}

tokens

Response

Returns a Tokens!

Arguments

Name Description

first - Int

Default = 10

skip - Int

Default = 0

after - String

where - TokenFilter

orderBy - TokenOrderBy

orderDirection - OrderDirection

whereContract - ContractFilter

whereSwap - SwapFilter

Example

Query
query tokens(
  $first: Int,
  $skip: Int,
  $after: String,
  $where: TokenFilter,
  $orderBy: TokenOrderBy,
  $orderDirection: OrderDirection,
  $whereContract: ContractFilter,
  $whereSwap: SwapFilter
) {
  tokens(
    first: $first,
    skip: $skip,
    after: $after,
    where: $where,
    orderBy: $orderBy,
    orderDirection: $orderDirection,
    whereContract: $whereContract,
    whereSwap: $whereSwap
  ) {
    count
    cursor
    tokens {
      ...TokenFragment
    }
    timing
  }
}

Variables

{
  "first": 10,
  "skip": 0,
  "after": "xyz789",
  "where": TokenFilter,
  "orderBy": "CONTRACT",
  "orderDirection": "ASC",
  "whereContract": ContractFilter,
  "whereSwap": SwapFilter
}

Response

{
  "data": {
    "tokens": {
      "count": UInt64,
      "cursor": "abc123",
      "tokens": [Token],
      "timing": "xyz789"
    }
  }
}

Types

Balance

Fields

Field Name Description

owner - String!

contract - Contract!

token - Token

value - String!

Example

{
  "owner": "xyz789",
  "contract": Contract,
  "token": Token,
  "value": "abc123"
}

BalanceFilter

Fields

Input Field Description

contract - String

tokenID - String

Example

{
  "contract": "xyz789",
  "tokenID": "xyz789"
}

BalanceOrderBy

Values

Enum Value Description

CONTRACT

Example

"CONTRACT"

Balances

Fields

Field Name Description

count - UInt64!

remaining - UInt64!

cursor - String

balances - [Balance!]!

Example

{
  "count": UInt64,
  "remaining": UInt64,
  "cursor": "xyz789",
  "balances": [Balance]
}

Boolean

Description

The Boolean scalar type represents true or false.

Contract

Fields

Field Name Description

id - ID!

type - ContractType!

isERC20 - Boolean!

isERC721 - Boolean!

isERC1155 - Boolean!

name - String

symbol - String

decimals - Int

supportsMetadata - Boolean!

createdAt - Time!

createdBlock - Int!

holders - Int!

tokens - Tokens!

Arguments

======= first - Int

======= skip - Int

======= after - String

======= where - TokenFilter

======= orderBy - TokenOrderBy

======= orderDirection - OrderDirection

Example

{
  "id": "4",
  "type": "UNKNOWN",
  "isERC20": false,
  "isERC721": false,
  "isERC1155": false,
  "name": "xyz789",
  "symbol": "xyz789",
  "decimals": 987,
  "supportsMetadata": true,
  "createdAt": "10:15:30Z",
  "createdBlock": 987,
  "holders": 123,
  "tokens": Tokens
}

ContractFilter

Fields

Input Field Description

id - String

name - String

name_like - String

name_null - Boolean

decimals_null - Boolean

error_null - Boolean

type - ContractType

is_erc20 - Boolean

is_erc721 - Boolean

is_erc1155 - Boolean

case_sensitive - Boolean

Example

{
  "id": "xyz789",
  "name": "abc123",
  "name_like": "xyz789",
  "name_null": true,
  "decimals_null": true,
  "error_null": false,
  "type": "UNKNOWN",
  "is_erc20": false,
  "is_erc721": true,
  "is_erc1155": true,
  "case_sensitive": true
}

ContractOrderBy

Values

Enum Value Description

ID

NAME

SYMBOL

CREATED_AT

CREATED_BLOCK

Example

"ID"

ContractType

Values

Enum Value Description

UNKNOWN

ERC1155

ERC721

ERC20

Example

"UNKNOWN"

Contracts

Fields

Field Name Description

count - UInt64!

remaining - UInt64!

cursor - String

contracts - [Contract!]!

Example

{
  "count": UInt64,
  "remaining": UInt64,
  "cursor": "xyz789",
  "contracts": [Contract]
}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as a key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example

4

Image

Fields

Field Name Description

status - ImageStatus!

url - String!

contentType - String!

width - Int!

height - Int!

thumbnails - [Thumbnail!]!

Arguments

======= where - ThumbnailFilter

======= orderBy - ThumbnailOrderBy

======= orderDirection - OrderDirection

createdAt - Time!

errorMsg - String

Example

{
  "status": "OK",
  "url": "abc123",
  "contentType": "xyz789",
  "width": 987,
  "height": 987,
  "thumbnails": [Thumbnail],
  "createdAt": "10:15:30Z",
  "errorMsg": "xyz789"
}

ImageStatus

Values

Enum Value Description

OK

NOT_AVAILABLE

NOT_RECOGNIZED

TOO_LARGE

RESET

Example

"OK"

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example

123

MetadataStatus

Values

Enum Value Description

OK

PROCESSING

NOT_AVAILABLE

NOT_SUPPORTED

IS_IMAGE

TOKEN_URI_PROBLEM

BLACKLISTED

Example

"OK"

OrderDirection

Values

Enum Value Description

ASC

DESC

Example

"ASC"

OrderSide

Values

Enum Value Description

MAKE

TAKE

Example

"MAKE"

Plural

Fields

Field Name Description

count - UInt64!

remaining - UInt64!

cursor - String

Possible Types

Plural Types

Balances

Contracts

Example

{
  "count": UInt64,
  "remaining": UInt64,
  "cursor": "xyz789"
}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example

"xyz789"

SwapFilter

Fields

Input Field Description

dex_contract - String

dex_version - String

side - OrderSide

status - SwapStatus

status_in - [SwapStatus!]

Example

{
  "dex_contract": "abc123",
  "dex_version": "abc123",
  "side": "MAKE",
  "status": "OPEN",
  "status_in": ["OPEN"]
}

SwapStatus

Values

Enum Value Description

OPEN

CLOSED

DROPPED

Example

"OPEN"

Thumbnail

Fields

Field Name Description

preset - ThumbnailPreset!

status - ThumbnailStatus!

url - String!

width - Int!

height - Int!

contentType - String!

createdAt - Time!

Example

{
  "preset": "MICRO",
  "status": "OK",
  "url": "xyz789",
  "width": 123,
  "height": 123,
  "contentType": "xyz789",
  "createdAt": "10:15:30Z"
}

ThumbnailFilter

Fields

Input Field Description

preset - ThumbnailPreset

Example

{"preset": "MICRO"}

ThumbnailOrderBy

Values

Enum Value Description

PRESET

CREATED_AT

Example

"PRESET"

ThumbnailPreset

Values

Enum Value Description

MICRO

SMALL

MEDIUM

LARGE

XLARGE

ORIGINAL

MICRO_VIDEO

SMALL_VIDEO

MEDIUM_VIDEO

LARGE_VIDEO

XLARGE_VIDEO

Example

"MICRO"

ThumbnailStatus

Values

Enum Value Description

OK

NOT_AVAILABLE

NOT_RECOGNIZED

Example

"OK"

Time

Example

"10:15:30Z"

Token

Fields

Field Name Description

contract - Contract!

tokenID - String!

tokenURI - String

tokenURIStatus - TokenURIStatus

image - Image

metadataStatus - MetadataStatus

metadataContent - String

metadataContentType - String

createdAt - Time!

createdBlock - Int!

burnedAt - Time

burnedBlock - Int

errorMsg - String

name - String

description - String

expired - Boolean

dexTrades - Int!

holders - Balances!

Arguments

======= first - Int

======= skip - Int

======= after - String

Example

{
  "contract": Contract,
  "tokenID": "xyz789",
  "tokenURI": "xyz789",
  "tokenURIStatus": "OK",
  "image": Image,
  "metadataStatus": "OK",
  "metadataContent": "xyz789",
  "metadataContentType": "xyz789",
  "createdAt": "10:15:30Z",
  "createdBlock": 987,
  "burnedAt": "10:15:30Z",
  "burnedBlock": 123,
  "errorMsg": "abc123",
  "name": "xyz789",
  "description": "abc123",
  "expired": false,
  "dexTrades": 987,
  "holders": Balances
}

TokenFilter

Fields

Input Field Description

tokenID - String

name - String

name_like - String

name_null - Boolean

caseSensitive - Boolean

metadataStatus - MetadataStatus

metadataStatus_null - Boolean

tokenURIStatus - TokenURIStatus

burned - Boolean

expired - Boolean

Example

{
  "tokenID": "abc123",
  "name": "abc123",
  "name_like": "abc123",
  "name_null": false,
  "caseSensitive": true,
  "metadataStatus": "OK",
  "metadataStatus_null": false,
  "tokenURIStatus": "OK",
  "burned": true,
  "expired": false
}

TokenOrderBy

Values

Enum Value Description

CONTRACT

NAME

TOKEN_ID

CREATED_AT

CREATED_BLOCK

CLOSED_SWAP_ID

COLLECTION_HOLDERS

DEX_TRADES

Example

"CONTRACT"

TokenURIStatus

Values

Enum Value Description

OK

EMPTY

NOT_AVAILABLE

NOT_SUPPORTED

IS_IMAGE

IS_METADATA

SPECIAL

Example

"OK"

Tokens

Fields

Field Name Description

count - UInt64!

cursor - String

tokens - [Token!]!

timing - String

Example

{
  "count": UInt64,
  "cursor": "xyz789",
  "tokens": [Token],
  "timing": "xyz789"
}

UInt64

Example

UInt64