Skip to content

Build a wallet NFT gallery on Astar

Use GET /v1/owners/{address}/nfts to load current holdings. Token IDs stay as strings, and media_url is included only when Aradia already stores the original bytes.

Terminal window
curl -sS \
-H "Authorization: Bearer $ARADIA_API_TOKEN" \
"https://api.aradia.app/v1/owners/0x0000000000000000000000000000000000000002/nfts?limit=100"

Use media_url ?? image_url. A present media_url means the original is already on Aradia’s disk. When it is absent, image_url is the metadata source and may still depend on IPFS availability.

Use media_type to choose the element:

function NFTMedia({ nft }) {
const src = nft.media_url ?? nft.image_url;
if (!src) return <div aria-label="Artwork unavailable" />;
if (nft.media_type?.startsWith("video/")) return <video src={src} controls preload="metadata" />;
return <img src={src} alt={nft.name ?? `NFT ${nft.token_id}`} loading="lazy" />;
}

When pagination.has_more is true, copy every value in pagination.next_page_params into the next request. Keep the owner and limit unchanged.

Related reference: GET /v1/owners/{address}/nfts.