Get NFTs by Account

Returns information for all non-fungible tokens for an account.

This method will use 20 Compute Units.


Get nfts for an account info

get

Returns information for all non-fungible tokens for an account.

Ordering

When considering NFTs, their order is governed by a combination of their numerical token.Id and serialnumber values, with token.id being the parent column. A serialnumbers value governs its order within the given token.id

In that regard, if a user acquired a set of NFTs in the order (2-2, 2-4 1-5, 1-1, 1-3, 3-3, 3-4), the following layouts illustrate the ordering expectations for ownership listing

  1. All NFTs in ASC order: 1-1, 1-3, 1-5, 2-2, 2-4, 3-3, 3-4
  2. All NFTs in DESC order: 3-4, 3-3, 2-4, 2-2, 1-5, 1-3, 1-1
  3. NFTs above 1-1 in ASC order: 1-3, 1-5, 2-2, 2-4, 3-3, 3-4
  4. NFTs below 3-3 in ASC order: 1-1, 1-3, 1-5, 2-2, 2-4
  5. NFTs between 1-3 and 3-3 inclusive in DESC order: 3-4, 3-3, 2-4, 2-2, 1-5, 1-3

Note: The default order for this API is currently DESC

Filtering

When filtering there are some restrictions enforced to ensure correctness and scalability.

The table below defines the restrictions and support for the NFT ownership endpoint

Query Param Comparison Operator Support Description Example
token.id eq Y Single occurrence only. ?token.id=X
ne N
lt(e) Y Single occurrence only. ?token.id=lte:X
gt(e) Y Single occurrence only. ?token.id=gte:X
serialnumber eq Y Single occurrence only. Requires the presence of a token.id query ?serialnumber=Y
ne N
lt(e) Y Single occurrence only. Requires the presence of an lte or eq token.id query ?token.id=lte:X&serialnumber=lt:Y
gt(e) Y Single occurrence only. Requires the presence of an gte or eq token.id query ?token.id=gte:X&serialnumber=gt:Y
spender.id eq Y ?spender.id=Z
ne N
lt(e) Y ?spender.id=lt:Z
gt(e) Y ?spender.id=gt:Z

Note: When searching across a range for individual NFTs a serialnumber with an additional token.id query filter must be provided. Both filters must be a single occurrence of gt(e) or lt(e) which provide a lower and or upper boundary for search.

Path parameters
idOrAliasOrEvmAddressstringRequired

Account alias or account id or evm address

Example: {"value":"HIQQEXWKW53RKN4W6XXC4Q232SYNZ3SZANVZZSUME5B5PRGXL663UAQA"}Pattern: ^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40}|(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}|[A-Z2-7]{4,5}|[A-Z2-7]{7,8}))$
Query parameters
limitinteger · int32 · min: 1 · max: 100Optional

The maximum number of items to return

Default: 25Example: 2
orderundefined · enumOptional

The order in which items are listed

Default: descExample: ascPossible values:
serialnumberstringOptional

The nft serial number (64 bit type). Requires a tokenId value also be populated.

Example: {"summary":"--","value":""}Pattern: ^((eq|gt|gte|lt|lte):)?\d{1,19}?$
spender.idstringOptional

The ID of the spender to return information for

Example: {"summary":"--","value":""}Pattern: ^((gte?|lte?|eq|ne)\:)?(\d{1,10}\.\d{1,10}\.)?\d{1,10}$
token.idstringOptional

The ID of the token to return information for

Example: {"summary":"--","value":""}Pattern: ^((gte?|lte?|eq|ne)\:)?(\d{1,10}\.\d{1,10}\.)?\d{1,10}$
Responses
200
OK
application/json
get
GET /v1/YOUR_API_KEY/api/v1/accounts/{idOrAliasOrEvmAddress}/nfts HTTP/1.1
Host: mainnet.hedera.validationcloud.io
Accept: */*
{
  "nfts": [
    {
      "account_id": "0.1.2",
      "created_timestamp": "1234567890.000000001",
      "delegating_spender": "0.0.400",
      "deleted": false,
      "metadata": "VGhpcyBpcyBhIHRlc3QgTkZU",
      "modified_timestamp": "1610682445.003266001",
      "serial_number": 124,
      "spender_id": "0.0.500",
      "token_id": "0.0.222"
    }
  ],
  "links": {
    "next": "/api/v1/transactions?timestamp=lt:1657598275.517984411"
  }
}

Last updated

Was this helpful?