Moralis · Capability
EVM API — Get Collections
EVM API — Get Collections. 4 operations. Lead operation: Get metadata for multiple NFT contracts. Self-contained Naftiko capability covering one Moralis business surface.
What You Can Do
POST
Getnftbulkcontractmetadata
— Get metadata for multiple NFT contracts
/v1/nft/metadata
GET
Getnftcontractmetadata
— Get NFT collection metadata
/v1/nft/{address}/metadata
PUT
Syncnftcontract
— Resync NFT Contract
/v1/nft/{address}/sync
GET
Getwalletnftcollections
— Get NFT collections by wallet address
/v1/{address}/nft/collections
MCP Tools
get-metadata-multiple-nft-contracts
Get metadata for multiple NFT contracts
read-only
get-nft-collection-metadata
Get NFT collection metadata
read-only
idempotent
resync-nft-contract
Resync NFT Contract
idempotent
get-nft-collections-wallet-address
Get NFT collections by wallet address
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: EVM API — Get Collections
description: 'EVM API — Get Collections. 4 operations. Lead operation: Get metadata for multiple NFT contracts. Self-contained
Naftiko capability covering one Moralis business surface.'
tags:
- Moralis
- Get Collections
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-collections
baseUri: https://deep-index.moralis.io/api/v2.2
description: EVM API — Get Collections business capability. Self-contained, no shared references.
resources:
- name: nft-metadata
path: /nft/metadata
operations:
- name: getnftbulkcontractmetadata
method: POST
description: Get metadata for multiple NFT contracts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: chain
in: query
type: string
description: The chain to query
- name: include_prices
in: query
type: boolean
description: Should NFT last sale prices be included in the result?
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: nft-address-metadata
path: /nft/{address}/metadata
operations:
- name: getnftcontractmetadata
method: GET
description: Get NFT collection metadata
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: include_prices
in: query
type: boolean
description: Should NFT last sale prices be included in the result?
- name: nft-address-sync
path: /nft/{address}/sync
operations:
- name: syncnftcontract
method: PUT
description: Resync NFT Contract
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: address-nft-collections
path: /{address}/nft/collections
operations:
- name: getwalletnftcollections
method: GET
description: Get NFT collections 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 wallet address of the owner of NFTs in the collections
required: true
- name: include_prices
in: query
type: boolean
description: Should NFT last sale prices be included in the result?
- 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: cursor
in: query
type: string
description: The cursor returned in the previous response (used for getting the next page).
- name: token_counts
in: query
type: boolean
description: Should token counts per collection be included in the response?
authentication:
type: apikey
key: X-API-Key
value: '{{env.MORALIS_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: evm-get-collections-rest
port: 8080
description: REST adapter for EVM API — Get Collections. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/nft/metadata
name: nft-metadata
description: REST surface for nft-metadata.
operations:
- method: POST
name: getnftbulkcontractmetadata
description: Get metadata for multiple NFT contracts
call: evm-get-collections.getnftbulkcontractmetadata
with:
chain: rest.chain
include_prices: rest.include_prices
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/nft/{address}/metadata
name: nft-address-metadata
description: REST surface for nft-address-metadata.
operations:
- method: GET
name: getnftcontractmetadata
description: Get NFT collection metadata
call: evm-get-collections.getnftcontractmetadata
with:
chain: rest.chain
address: rest.address
include_prices: rest.include_prices
outputParameters:
- type: object
mapping: $.
- path: /v1/nft/{address}/sync
name: nft-address-sync
description: REST surface for nft-address-sync.
operations:
- method: PUT
name: syncnftcontract
description: Resync NFT Contract
call: evm-get-collections.syncnftcontract
with:
chain: rest.chain
address: rest.address
outputParameters:
- type: object
mapping: $.
- path: /v1/{address}/nft/collections
name: address-nft-collections
description: REST surface for address-nft-collections.
operations:
- method: GET
name: getwalletnftcollections
description: Get NFT collections by wallet address
call: evm-get-collections.getwalletnftcollections
with:
chain: rest.chain
address: rest.address
include_prices: rest.include_prices
limit: rest.limit
exclude_spam: rest.exclude_spam
cursor: rest.cursor
token_counts: rest.token_counts
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: evm-get-collections-mcp
port: 9090
transport: http
description: MCP adapter for EVM API — Get Collections. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: get-metadata-multiple-nft-contracts
description: Get metadata for multiple NFT contracts
hints:
readOnly: true
destructive: false
idempotent: false
call: evm-get-collections.getnftbulkcontractmetadata
with:
chain: tools.chain
include_prices: tools.include_prices
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-nft-collection-metadata
description: Get NFT collection metadata
hints:
readOnly: true
destructive: false
idempotent: true
call: evm-get-collections.getnftcontractmetadata
with:
chain: tools.chain
address: tools.address
include_prices: tools.include_prices
outputParameters:
- type: object
mapping: $.
- name: resync-nft-contract
description: Resync NFT Contract
hints:
readOnly: false
destructive: false
idempotent: true
call: evm-get-collections.syncnftcontract
with:
chain: tools.chain
address: tools.address
outputParameters:
- type: object
mapping: $.
- name: get-nft-collections-wallet-address
description: Get NFT collections by wallet address
hints:
readOnly: true
destructive: false
idempotent: true
call: evm-get-collections.getwalletnftcollections
with:
chain: tools.chain
address: tools.address
include_prices: tools.include_prices
limit: tools.limit
exclude_spam: tools.exclude_spam
cursor: tools.cursor
token_counts: tools.token_counts
outputParameters:
- type: object
mapping: $.