nft-blockchain

Implements NFT display, wallet checks, smart contract calls, and token gating in Decentraland scenes.

Updated Sep 11, 2026
One-click install
npx skills add https://github.com/ansonj-dev/neon-reverse --skill nft-blockchain-ansonj-dev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nft-blockchain
Source: https://github.com/ansonj-dev/neon-reverse/tree/main/agent/skills/nft-blockchain
Command: npx skills add https://github.com/ansonj-dev/neon-reverse --skill nft-blockchain-ansonj-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires eth-connect, dcl-crypto-toolkit, and includes references (resource) components.

What problem does it solve? Building blockchain features into a Decentraland scene requires knowing many scattered APIs — NftShape URNs, signed requests, eth-connect contract calls, and the dcl-crypto-toolkit — and getting any detail wrong (URN format, guest wallets, unparsed response bodies) breaks the experience. ## Core Features & Use Cases - NFT Display: Render any OpenSea-indexed NFT in a scene using NftShape with 22 frame styles and the correct urn:decentraland:<chain>:<standard>:<contract>:<tokenId> format across multiple chains. - Wallet & Contract Interaction: Check player wallets via getPlayer, send authenticated backend requests with signedFetch, and call smart contracts through eth-connect or the higher-level dcl-crypto-toolkit (MANA, ERC20, ERC721, marketplace orders, EIP-712 signing). - Token Gating: Restrict scene areas or features based on NFT ownership or MANA/token balances. - Use Case: Build a members-only lounge that displays the owner's NFT collection in gold frames and only opens the door when the visitor's wallet holds a specific collection token. ## Quick Start Ask the agent to display an NFT in a Decentraland scene and gate an area by NFT ownership using the nft-blockchain skill.

Frequently Asked Questions about nft-blockchain

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I display an NFT in a Decentraland scene?

Use NftShape.create with a URN in the format urn:decentraland:<chain>:<standard>:<contract>:<tokenId> and pick an NftFrameType style. The image loads automatically from the NFT metadata via Decentraland's OpenSea proxy.

How do I check NFT ownership for token gating in Decentraland?

Use crypto.nft.checkTokens(contractAddress, tokenIds?) from dcl-crypto-toolkit to verify the connected player holds tokens of a contract. Always confirm the player is not a guest with getPlayer before gating access.

What is the difference between eth-connect and dcl-crypto-toolkit?

eth-connect gives low-level contract access via ContractFactory for any custom ABI, while dcl-crypto-toolkit provides higher-level helpers for MANA, ERC20, NFT, marketplace, and signing operations. Use the toolkit for common tasks and eth-connect for custom contracts.

Why does signedFetch response.json() not work in Decentraland?

signedFetch returns body as a string, not a parsed object, so there is no .json() method. Call JSON.parse(response.body) after checking response.ok and response.status.

Can guest players interact with smart contracts in Decentraland?

No. Guest players have no connected wallet, so getPlayer returns isGuest true and any write operation or balance check tied to their address will fail. Always branch on isGuest before blockchain calls.

How do I test Decentraland smart contract features without real ETH?

Use the Sepolia testnet: switch MetaMask to Sepolia, obtain test ETH from a faucet, and deploy contracts to Sepolia. Contract addresses differ between mainnet and testnet, so keep them configurable.