tradable
NFT marketplace standard enabling peer-to-peer transfers with the "NFTMarketplace" standard tag and NFTPricingDenom
Tradable NFTs
Instruction text for agents that use the Tradable NFTs skill, loaded by bb dev skills tradable and the MCP get_skill_instructions tool.
Try it
Paste this into Claude Code, Codex, or Cursor with the BitBadges MCP server wired. The agent loads the skill, builds, verifies, and hands back a link to review and sign.
Load the tradable skill and build me one: nFT marketplace standard enabling peer-to-peer transfers with the "NFTMarketplace" standard tag and NFTPricingDenom. Use the session tools, run validate, review, and simulate in parallel, fix anything critical, then call get_review_url and give me the link.From a shell, bb dev skills tradable prints the same instructions.
Summary
Required standards: ["NFTMarketplace", "NFTs", "NFTPricingDenom:ubadge"]
- Must include all three standards together
- NFTPricingDenom format: "NFTPricingDenom:
" (sets pricing denomination for orderbook) - Must include a free transfer approval: fromListId: "!Mint", toListId: "All", initiatedByListId: "All", approvalId: "transferable-approval"
- Enables orderbook/marketplace integration
- Typically used with NFT collections
- Note: Legacy names "Tradable" and "DefaultDisplayCurrency" are still accepted for existing collections
Instructions
Tradable NFTs Configuration
When enabling trading for NFTs, follow these requirements:
Preferred path: preset (one short tool call)
The free-transfer approval is fully canonical (takes no params):
add_preset_approval({ presetId: "tradable.transferable", params: {} })Required Structure
-
Standards: must include "NFTMarketplace", "NFTs", and "NFTPricingDenom:ubadge"
- "standards": ["NFTMarketplace", "NFTs", "NFTPricingDenom:ubadge"]
- NFTPricingDenom sets the pricing denomination for orderbook display
- Replace "ubadge" with your desired currency denom if different
-
Free Transfer Approval: Include a default collection approval for peer-to-peer transfers
json { "fromListId": "!Mint", "toListId": "All", "initiatedByListId": "All", "approvalId": "transferable-approval", "tokenIds": [{ "start": "1", "end": "18446744073709551615" }], "transferTimes": [{ "start": "1", "end": "18446744073709551615" }], "ownershipTimes": [{ "start": "1", "end": "18446744073709551615" }] }
Complete Example
{
"updateStandards": true,
"standards": ["NFTMarketplace", "NFTs", "NFTPricingDenom:ubadge"]
}Tradable Gotchas
- Must include all three standards together
- NFTPricingDenom format: "NFTPricingDenom:denom"
- This enables orderbook/marketplace integration
- Typically used with NFT collections
- The currency denom determines how prices are displayed in marketplaces
- Legacy names "Tradable" and "DefaultDisplayCurrency" still work for existing collections