nft-blockchain

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

1|Updated Apr 4, 2026
One-click install
npx skills add https://github.com/stom66/dcl-bowling --skill nft-blockchain-stom66
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: nft-blockchain
Source: https://github.com/stom66/dcl-bowling/tree/main/agent/skills/nft-blockchain
Command: npx skills add https://github.com/stom66/dcl-bowling --skill nft-blockchain-stom66

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 for displaying NFT art, signedFetch for authenticated backend calls, eth-connect for raw contract interaction, and dcl-crypto-toolkit for common token operations. This Skill consolidates the correct patterns, URN formats, and decision guidance so you avoid integration mistakes. ## Core Features & Use Cases - NFT Display: Render any OpenSea-indexed NFT in a decorative frame using NftShape with the correct urn:decentraland URN format and 23 frame styles. - Wallet & Contract Interaction: Check player wallets (with guest detection), call smart contracts via eth-connect, send signed requests with signedFetch, and query gas prices and balances. - Token Gating & Marketplace: Gate scene access by NFT ownership or MANA balance, send MANA/ERC20 tokens, and buy, sell, or cancel marketplace listings via dcl-crypto-toolkit. - Use Case: Build a members-only lounge that checks whether the visitor holds an NFT from your collection, displays their NFT artwork in a gold frame, and includes a MANA tip jar for the scene creator. ## Quick Start Ask the AI to add an NFT picture frame displaying a specific token URN and gate a scene area behind ownership of that NFT contract.

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:decentraland:<chain>:<contractStandard>:<contractAddress>:<tokenId> URN and an NftFrameType style. The image loads automatically from the NFT metadata via Decentraland's OpenSea proxy, supporting chains like ethereum, matic, and base.

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

Use crypto.nft.checkTokens(contractAddress, tokenIds?) from dcl-crypto-toolkit to verify the player holds tokens of a contract. Omit tokenIds to accept any token of the contract, and always check player.isGuest first since guests have no wallet.

Should I use eth-connect or dcl-crypto-toolkit for smart contracts?▼

Use dcl-crypto-toolkit for common operations like MANA transfers, ERC20 balances, NFT checks, and marketplace orders. Use raw eth-connect with ContractFactory only for custom contract ABIs not covered by the toolkit.

How does signedFetch work for authenticated API calls?▼

signedFetch from ~system/SignedFetch automatically injects ADR-44 signed identity headers your backend verifies. The response body is a string, so call JSON.parse(response.body) after checking response.ok; there is no .json() method.

Why do blockchain calls fail for some players in Decentraland?▼

Guest players have no connected wallet, so any wallet-dependent call fails. Always check getPlayer().isGuest before blockchain interaction, wrap async calls in executeTask, and handle rejections from declined signatures or insufficient gas.

Can I test Decentraland contract interactions without real ETH?▼

Yes, use the Sepolia testnet: switch MetaMask to Sepolia, get test ETH from a faucet, and deploy contracts to Sepolia. Note that contract addresses differ between mainnet and testnet deployments.