지갑 NFT 조회 API는 x-api-key + X-CORPORATE-ID 헤더를 동시에 요구합니다. 기본적으로 요청한 기업이 배포한 컨트랙트만 결과에 포함됩니다.
| Name | Required | Value |
|---|---|---|
x-api-key |
✅ | 서버에 등록된 글로벌 API 키 |
X-CORPORATE-ID |
✅ | corporateAccounts.corporateId |
Content-Type |
⚠️ | 쿼리만 사용하므로 기본 불필요 |
/api/wallet/nftsAnkr
ankr_getNFTsByOwner를 사용하여 지갑이 보유한 NFT를 조회합니다.
서버 DB(deployedContracts)에 등록된 ACTIVE 상태의 ERC-721/1155만 필터링해 반환합니다.
기본적으로 요청 기업의 컨트랙트만 포함(corporateOnly=true).
| 필드 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
wallet |
address | ✅ | - | 조회 대상 지갑 주소 |
blockchains |
string | string[] | ❌ | ["avalanche","avalanche_fuji"] |
허용 값 화이트리스트: avalanche, avalanche_fuji |
pageToken |
string | ❌ | "" |
Ankr nextPageToken (없으면 빈 문자열) |
corporateOnly |
boolean | ❌ | true |
true면 요청 기업 컨트랙트만, false면 모든 등록 컨트랙트 |
{
"items": [
{
"chain": "avalanche_fuji",
"chainId": "43113",
"contractAddress": "0xabc...def",
"tokenId": "1",
"amount": "1",
"tokenType": "ERC721",
"name": "Sample NFT",
"symbol": "SNFT",
"tokenUrl": "https://example.com/metadata/0xabc.../1",
"imageUrl": "",
"metadata": null,
"corporateId": "corp-123"
}
],
"nextPageToken": null
}
curl -G "http://localhost:3000/api/wallet/nfts" \
-H "x-api-key: <YOUR_API_KEY>" \
-H "X-CORPORATE-ID: <YOUR_CORP_ID>" \
--data-urlencode "wallet=0x80CD25A5c39b2DBEdFf23A4AF5C6e5DA332c2113" \
--data-urlencode "blockchains=avalanche_fuji" \
--data-urlencode "pageToken="
nextPageToken이 없을 때까지 반복 호출해 전체를 수집할 수 있습니다.wallet + blockchains(+corporateId) + pageToken 조합으로 키가 분리됩니다.