Folio v0.9 — CEX + On-chain Consolidation is liveSee what's new →

Cross-Chain NFT Portfolio: Three NFT Models, One View (2026)

Portfolio·

Cross-Chain NFT Portfolio: Three NFT Models, One View (2026)

An EVM ERC-721, a Solana compressed NFT, and a Bitcoin Ordinal are 'NFTs' in name only — contract+tokenId, Merkle-tree+indexer, and inscribed-sat+UTXO are three incompatible models. Aggregating an NFT portfolio across them is a discovery and identity problem, not a multi-marketplace feed.
Author avatar Wag3s TeamEditorial team specializing in Web3 finance, crypto tax, and DAO operations. Based in Zurich, Switzerland.

Reviewed by Wag3s Editorial Team — verified against the three distinct NFT models (EVM ERC-721/1155, Solana Metaplex/cNFT, Bitcoin Ordinals) and their incompatible discovery/identity · Last reviewed May 2026

Cross-Chain NFT Portfolio: Three NFT Models, One View

"NFT" is a single word for three unrelated machines: a contract+tokenId on EVM, a Merkle-tree entry behind an indexer on Solana, an inscribed satoshi in a UTXO on Bitcoin. A portfolio that assumes one model silently drops the other two. This guide is the cross-model NFT problem.

TL;DR

  • Three incompatible models: EVM (contract + tokenId, ERC-721/1155), Solana (Metaplex account / cNFT via indexer), Bitcoin (inscribed sat / UTXO).
  • No shared identifier — each NFT keeps its native identity; don't flatten to one ID scheme.
  • Aggregation is a discovery + identity problem, not a multi-marketplace feed.
  • Loss happens at discovery gaps — missed cNFTs, Ordinals read with a token model, NFTs on less-common chains.
  • Each model needs its own discovery method — one method can't cover all three.
  • Tax is per item, per jurisdiction, unchanged by chain — aggregation just supplies the complete, correctly-identified set.

Three machines, one word

ModelAn NFT is…Discovery
EVM (ERC-721/1155)A contract address + tokenIdContract/tokenId enumeration across chains held
Solana (Metaplex)A mint account, or a cNFT Merkle entryAccount read + indexer for compressed
Bitcoin (Ordinals)Content inscribed on a numbered satOrdinal-aware UTXO tracing

These are not variants of one thing. A tracker built on the EVM contract+tokenId assumption is structurally blind to Solana cNFTs and Bitcoin Ordinals — the NFT analogue of the non-EVM aggregation problem.

The identity problem

Each model identifies an NFT differently — contract+tokenId (EVM), mint / cNFT asset id via indexer (Solana), inscription on a numbered sat (Bitcoin). There is no shared identifier. A cross-chain view must hold each NFT's native identity, not force one scheme. Collapsing them to a single ID format loses provenance and can merge or drop distinct NFTs — a silent correctness failure, not a display nit.

Where assets vanish

Cross-chain NFT portfolios lose assets at discovery gaps:

  • compressed Solana NFTs missed (no indexer used);
  • Ordinals missed (tool used a token-contract model on Bitcoin);
  • EVM NFTs missed on less-common chains.

It is a completeness failure, amplified by model heterogeneity — the same root cause as multi-chain reconciliation, specific to NFTs.

One discovery method cannot work

Each model needs its own discovery:

  • EVM → contract/tokenId enumeration across every chain held;
  • Solana → account reads (uncompressed) + indexer (compressed);
  • Bitcoinordinal-aware UTXO tracing.

A complete NFT portfolio runs the right discovery per model and then unifies the results without flattening their native identities.

Tax is per item, per jurisdiction

Tax does not change by which chain an NFT lives on: each NFT is still its own lot with its own basis and disposal (see NFT cost basis and disposal). The aggregation layer's job is a complete, correctly-identified set so the jurisdiction-specific treatment applies to the right items. The chains differ; the per-item tax discipline does not.

Practical guidance

  1. Run model-specific discovery — EVM contract/tokenId, Solana account+indexer, Bitcoin ordinal-aware.
  2. Preserve each NFT's native identity — don't flatten to one ID scheme.
  3. Treat discovery gaps as completeness failures (cNFTs, Ordinals, rare chains).
  4. Unify into one view without merging distinct NFTs.
  5. Keep per-item lots for tax across all models; confirm jurisdiction treatment.
  6. Reconcile each model to its chain with an audit trail.

How vendor tools handle cross-chain NFTs

Koinly and Zerion aggregate NFTs across chains to varying depth. Confirm the tool runs model-specific discovery (EVM/Solana-incl-cNFT/Bitcoin-Ordinals), preserves native identities, and treats missing cNFTs/Ordinals as completeness gaps — an EVM-only NFT model silently drops two of the three worlds.

How Wag3s helps

Wag3s Folio runs model-specific NFT discovery — EVM contract/tokenId, Solana account plus cNFT indexer, Bitcoin ordinal-aware UTXO — unifies them into one view without flattening native identities, and keeps per-item lots for the jurisdiction-specific tax treatment. See the Folio product page.


Further reading

Sources

  • Three distinct NFT models: EVM ERC-721/1155 (contract + tokenId); Solana Metaplex account / compressed NFT via indexer; Bitcoin Ordinals (inscribed sat tracked via UTXOs)
  • No shared cross-model identifier — native identity must be preserved; discovery is model-specific
  • Completeness failures from model heterogeneity (missed cNFTs/Ordinals); per-item, jurisdiction-specific tax unchanged by chain
Editorial disclaimer
This article is informational and does not constitute tax or accounting advice. NFT mechanics evolve and tax is jurisdiction-specific. Confirm with the relevant documentation and a qualified adviser.