Moralis · Capability
EVM API — Get NFTs
EVM API — Get NFTs. 2 operations. Lead operation: Get NFTs by contract address. Self-contained Naftiko capability covering one Moralis business surface.
What You Can Do
GET
Getcontractnfts
— Get NFTs by contract address
/v1/nft/{address}
GET
Getwalletnfts
— Get NFTs by wallet address
/v1/{address}/nft
MCP Tools
get-nfts-contract-address
Get NFTs by contract address
read-only
idempotent
get-nfts-wallet-address
Get NFTs by wallet address
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: EVM API — Get NFTs
description: 'EVM API — Get NFTs. 2 operations. Lead operation: Get NFTs by contract address. Self-contained Naftiko capability
covering one Moralis business surface.'
tags:
- Moralis
- Get NFTs
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
MORALIS_API_KEY: MORALIS_API_KEY
capability:
consumes:
- type: http
namespace: evm-get-nfts
baseUri: https://deep-index.moralis.io/api/v2.2
description: EVM API — Get NFTs business capability. Self-contained, no shared references.
resources:
- name: nft-address
path: /nft/{address}
operations:
- name: getcontractnfts
method: GET
description: Get NFTs by contract address
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: chain
in: query
type: string
description: The chain to query
- name: address
in: path
type: string
description: The address of the NFT contract
required: true
- name: format
in: query
type: string
description: The format of the token ID
- name: limit
in: query
type: integer
description: The desired page size of the result.
- name: totalRanges
in: query
type: integer
description: The number of subranges to split the results into
- name: range
in: query
type: integer
description: The desired subrange to query
- name: cursor
in: query
type: string
description: The cursor returned in the previous response (used for getting the next page).
- name: normalizeMetadata
in: query
type: boolean
description: Should normalized metadata be returned?
- name: media_items
in: query
type: boolean
description: Should preview media data be returned?
- name: include_prices
in: query
type: boolean
description: Should NFT last sale prices be included in the result?
- name: address-nft
path: /{address}/nft
operations:
- name: getwalletnfts
method: GET
description: Get NFTs by wallet address
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: chain
in: query
type: string
description: The chain to query
- name: address
in: path
type: string
description: The address of the wallet
required: true
- name: format
in: query
type: string
description: The format of the token ID
- name: limit
in: query
type: integer
description: The desired page size of the result.
- name: exclude_spam
in: query
type: boolean
description: Should spam NFTs be excluded from the result?
- name: token_addresses
in: query
type: array
description: The addresses to get balances for (optional)
- name: cursor
in: query
type: string
description: The cursor returned in the previous response (used for getting the next page).
- name: normalizeMetadata
in: query
type: boolean
description: Should normalized metadata be returned?
- name: media_items
in: query
type: boolean
description: Should preview media data be returned?
- name: include_prices
in: query
type: boolean
description: Should NFT last sale prices be included in the result?
authentication:
type: apikey
key: X-API-Key
value: '{{env.MORALIS_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: evm-get-nfts-rest
port: 8080
description: REST adapter for EVM API — Get NFTs. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/nft/{address}
name: nft-address
description: REST surface for nft-address.
operations:
- method: GET
name: getcontractnfts
description: Get NFTs by contract address
call: evm-get-nfts.getcontractnfts
with:
chain: rest.chain
address: rest.address
format: rest.format
limit: rest.limit
totalRanges: rest.totalRanges
range: rest.range
cursor: rest.cursor
normalizeMetadata: rest.normalizeMetadata
media_items: rest.media_items
include_prices: rest.include_prices
outputParameters:
- type: object
mapping: $.
- path: /v1/{address}/nft
name: address-nft
description: REST surface for address-nft.
operations:
- method: GET
name: getwalletnfts
description: Get NFTs by wallet address
call: evm-get-nfts.getwalletnfts
with:
chain: rest.chain
address: rest.address
format: rest.format
limit: rest.limit
exclude_spam: rest.exclude_spam
token_addresses: rest.token_addresses
cursor: rest.cursor
normalizeMetadata: rest.normalizeMetadata
media_items: rest.media_items
include_prices: rest.include_prices
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: evm-get-nfts-mcp
port: 9090
transport: http
description: MCP adapter for EVM API — Get NFTs. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: get-nfts-contract-address
description: Get NFTs by contract address
hints:
readOnly: true
destructive: false
idempotent: true
call: evm-get-nfts.getcontractnfts
with:
chain: tools.chain
address: tools.address
format: tools.format
limit: tools.limit
totalRanges: tools.totalRanges
range: tools.range
cursor: tools.cursor
normalizeMetadata: tools.normalizeMetadata
media_items: tools.media_items
include_prices: tools.include_prices
outputParameters:
- type: object
mapping: $.
- name: get-nfts-wallet-address
description: Get NFTs by wallet address
hints:
readOnly: true
destructive: false
idempotent: true
call: evm-get-nfts.getwalletnfts
with:
chain: tools.chain
address: tools.address
format: tools.format
limit: tools.limit
exclude_spam: tools.exclude_spam
token_addresses: tools.token_addresses
cursor: tools.cursor
normalizeMetadata: tools.normalizeMetadata
media_items: tools.media_items
include_prices: tools.include_prices
outputParameters:
- type: object
mapping: $.