Cannot locate NFT using calculated NFTokenPage identifier on XRPL testnet

I’ve been trying to build an NFT lookup system for the XRPL testnet but I’m running into issues with the basic functionality. When I calculate the NFTokenPage identifier according to the documentation and try to search for existing NFTs, I can’t seem to find them even though I know they exist.

I’ve verified that the calculated ID matches the format requirements described in the docs. The NFTs are definitely there because I can see them when I query account information directly using account-based methods in the websocket API tool.

I’m specifically using the ledger_entry method with the computed NFTokenPage ID but getting no results. Has anyone successfully implemented NFTokenPage lookups? I’m looking for actual working code examples or samples since the documentation only shows the format structure.

Any guidance on what I might be doing wrong would be really helpful. The account queries work fine but the direct page lookups are failing consistently.

Hmm, interesting - I’ve been messing around with NFT stuff on XRPL testnet too and hit some weird issues. NFTokenPages don’t always get created when you’d expect.

Are you calculating the page ID from a specific account or trying to derive it from the NFToken ID? I’m curious about your method because I remember reading that the page structure can be different than expected.

Also, quick check - when you say the NFTs “definitely exist”, do you see them in the account_nfts response? Sometimes there’s a delay or testnet indexing works differently.

What does your calculated NFTokenPage ID look like format-wise? If you could share a sample (anonymized obviously), might help spot what’s wrong with the calculation.

I’m curious because I’ve been wanting to dig deeper into direct page lookups but haven’t gotten to it yet. Sounds like you’re ahead of me!

yeah, i hit this same issue a few weeks back. testnet’s NFTTokenPage indexing gets flaky sometimes. try querying ledger_entry right after a ledger close instead of immediately - that’s what fixed it for me. also make sure ur page calculation uses the right ledger sequence number. that one got me good.

Had the same problem when I was building an NFT project on XRPL. NFTokenPages don’t always exist for every account, especially on testnet where people barely hold any NFTs. These pages get created and deleted as needed, so your calculated identifier might point to nothing. I stopped trying to find specific NFTokenPages and switched to the account_nfts method instead. It grabs all NFTs for an account without needing page identifiers. If you really need page-level access, try account_objects with the nft_page filter to see what pages actually exist for your account.