Skip to content

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.

text
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):

ts
add_preset_approval({ presetId: "tradable.transferable", params: {} })

Required Structure

  1. 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
  2. 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

json
{
  "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

Edit this page on GitHub

For agents

How agents read these docs