Skip to main content

Asset Support

Current support is defined by the mounted V2 accept and revoke paths.

Ethereum

Ethereum NFT identifiers use contractAddress:tokenId.

The current V2 accept path prepares an ERC-721 token-scoped approve call for the exact NFT the user is offering. Existing collection-wide approvals can satisfy readiness, but new widget approvals are prepared for one token.

ERC-1155 appears only in legacy contract compatibility code and is not part of the current mounted V2 widget accept contract.

Base

Base NFT identifiers use contractAddress:tokenId.

The current mounted V2 accept path uses the EVM ERC-721 wallet flow and prepares a token-scoped approve call for the exact NFT the user is offering. The Base network and chain ID come from the configured EVM chain registry.

ERC-1155 is not part of the current mounted V2 Base widget accept contract.

Solana

Solana NFT identifiers use the mint or asset address.

Current accept paths:

  • NonFungible: supported through the standard SWAPS delegation path.
  • ProgrammableNonFungible: supported only when ENABLE_PNFT_SUPPORT=true in the deployment. Two-to-five participant loops require SWAPS_PNFT_ALT_ADDRESS to point to a populated Solana address lookup table containing the pNFT execution accounts.
  • Core: supported for two-to-six participant loops through compact Core settlement when the live asset compatibility check confirms the current one-signature transfer path can be used.

Core assets are blocked before signature when SWAPS cannot verify current transfer rules, when the asset is compressed, when it is frozen, or when external transfer plugins require an adapter that is not currently supported. Compatible Core assets do not require associated token accounts or an address lookup table for two-to-six participant settlement.

Inventory Metadata

Bulk inventory can send either simple ownedNftIds or richer items[]. For Solana collections, include tokenStandard and collectionAddress when you have them so SWAPS can avoid extra live metadata lookups.

Card value is not inferred from generic Solana token metadata, marketplace floors, or listings. For Collector Crypt, configure verified collection/update authority checks and the authoritative Insured Value trait. For Phygitals, Slabz, and similar platform-valued partners, configure a live partner API unless a verified on-chain value field is explicitly authoritative. Bulk floorPrice is only a seed for discovery and display bootstrap; signing-time fee quotes use the refreshed partner valuation for the received asset.

{
"users": [
{
"walletAddress": "6Y4Q...",
"items": [
{
"id": "mint_or_asset_address",
"name": "Card Name",
"collection": "Collection Name",
"floorPrice": 500,
"currency": "USD",
"tokenStandard": "Core",
"collectionAddress": "collection_address"
}
]
}
]
}