[{"data":1,"prerenderedAt":3969},["ShallowReactive",2],{"navigation_docs":3,"-guides-crypto-starknet":315,"-guides-crypto-starknet-surround":3964},[4,30,87,208,252],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-rocket",{"title":15,"path":16,"stem":17,"icon":18},"API","\u002Fgetting-started\u002Fapi-docs","1.getting-started\u002F2.api-docs","i-lucide-book-open-text",{"title":20,"path":21,"stem":22,"icon":23},"MCP","\u002Fgetting-started\u002Fmcp","1.getting-started\u002F3.mcp","i-lucide-bot",{"title":25,"path":26,"stem":27,"icon":28},"Smart Contract","\u002Fgetting-started\u002Fcontracts","1.getting-started\u002F5.contracts","i-lucide-clock",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Guides","\u002Fguides","2.guides",[35,72,82],{"title":36,"path":37,"stem":38,"children":39,"page":29},"Crypto","\u002Fguides\u002Fcrypto","2.guides\u002F1.crypto",[40,45,50,55,59,64,68],{"title":41,"path":42,"stem":43,"icon":44},"Belong CheckIn","\u002Fguides\u002Fcrypto\u002Fcheckin","2.guides\u002F1.crypto\u002FcheckIn","i-lucide-map-pin",{"title":46,"path":47,"stem":48,"icon":49},"EVM NFT Minting","\u002Fguides\u002Fcrypto\u002Fminting","2.guides\u002F1.crypto\u002Fminting","i-lucide-box",{"title":51,"path":52,"stem":53,"icon":54},"Sponsored Gas","\u002Fguides\u002Fcrypto\u002Fsponsorship","2.guides\u002F1.crypto\u002Fsponsorship","i-lucide-wallet",{"title":56,"path":57,"stem":58,"icon":49},"LONG Staking","\u002Fguides\u002Fcrypto\u002Fstaking","2.guides\u002F1.crypto\u002Fstaking",{"title":60,"path":61,"stem":62,"icon":63},"Starknet NFT Minting","\u002Fguides\u002Fcrypto\u002Fstarknet","2.guides\u002F1.crypto\u002Fstarknet","i-lucide-circuit-board",{"title":65,"path":66,"stem":67,"icon":49},"Sui NFT Minting","\u002Fguides\u002Fcrypto\u002Fsui","2.guides\u002F1.crypto\u002Fsui",{"title":69,"path":70,"stem":71,"icon":28},"LONG Vesting","\u002Fguides\u002Fcrypto\u002Fvesting","2.guides\u002F1.crypto\u002Fvesting",{"title":73,"path":74,"stem":75,"children":76,"page":29},"Media","\u002Fguides\u002Fmedia","2.guides\u002F2.media",[77],{"title":78,"path":79,"stem":80,"icon":81},"Media Upload","\u002Fguides\u002Fmedia\u002Fcollection","2.guides\u002F2.media\u002Fcollection","i-lucide-image",{"title":83,"path":84,"stem":85,"icon":86},"Whitelabel","\u002Fguides\u002Fwhitelabel","2.guides\u002F5.whitelabel","i-lucide-badge-check",{"title":41,"path":88,"stem":89,"children":90},"\u002Fbelong-checkin","3.belong-checkin",[91,94,99,104,109,114,118,123,127,132,137,171,175,180,185,189,194,199,203],{"title":92,"path":88,"stem":93,"icon":44},"Overview","3.belong-checkin\u002Findex",{"title":95,"path":96,"stem":97,"icon":98},"App Features","\u002Fbelong-checkin\u002Fapp-features","3.belong-checkin\u002F1.app-features","i-lucide-list-checks",{"title":100,"path":101,"stem":102,"icon":103},"Telegram Bot","\u002Fbelong-checkin\u002Ftelegram-bot","3.belong-checkin\u002F10.telegram-bot","i-lucide-send",{"title":105,"path":106,"stem":107,"icon":108},"Apple Wallet","\u002Fbelong-checkin\u002Fapple-wallet","3.belong-checkin\u002F11.apple-wallet","i-lucide-ticket",{"title":110,"path":111,"stem":112,"icon":113},"Payments","\u002Fbelong-checkin\u002Fpayments-and-onramp","3.belong-checkin\u002F12.payments-and-onramp","i-lucide-credit-card",{"title":51,"path":115,"stem":116,"icon":117},"\u002Fbelong-checkin\u002Fsponsored-gas","3.belong-checkin\u002F13.sponsored-gas","i-lucide-fuel",{"title":119,"path":120,"stem":121,"icon":122},"Fees & Staking","\u002Fbelong-checkin\u002Ffees-and-staking","3.belong-checkin\u002F14.fees-and-staking","i-lucide-percent",{"title":124,"path":125,"stem":126,"icon":23},"Connect AI Deploy","\u002Fbelong-checkin\u002Fconnect-ai-deploy","3.belong-checkin\u002F15.connect-ai-deploy",{"title":128,"path":129,"stem":130,"icon":131},"QR Signage Examples","\u002Fbelong-checkin\u002Fvenue-qr-signage-examples","3.belong-checkin\u002F16.venue-qr-signage-examples","i-lucide-qr-code",{"title":133,"path":134,"stem":135,"icon":136},"Whitepaper","\u002Fbelong-checkin\u002Fwhitepaper","3.belong-checkin\u002F18.whitepaper","i-lucide-file-text",{"title":138,"icon":139,"path":140,"stem":141,"children":142,"page":29},"Developer","i-lucide-code","\u002Fbelong-checkin\u002Fdeveloper","3.belong-checkin\u002F19.developer",[143,148,152,156,161,166],{"title":144,"path":145,"stem":146,"icon":147},"Integration Overview","\u002Fbelong-checkin\u002Fdeveloper\u002Fintegration-overview","3.belong-checkin\u002F19.developer\u002F1.integration-overview","i-lucide-plug",{"title":149,"path":150,"stem":151,"icon":18},"API Reference","\u002Fbelong-checkin\u002Fdeveloper\u002Fapi-reference","3.belong-checkin\u002F19.developer\u002F2.api-reference",{"title":153,"path":154,"stem":155,"icon":23},"MCP Tools","\u002Fbelong-checkin\u002Fdeveloper\u002Fmcp-tools","3.belong-checkin\u002F19.developer\u002F3.mcp-tools",{"title":157,"path":158,"stem":159,"icon":160},"Networks","\u002Fbelong-checkin\u002Fdeveloper\u002Fnetworks","3.belong-checkin\u002F19.developer\u002F4.networks","i-lucide-network",{"title":162,"path":163,"stem":164,"icon":165},"Enterprise Apps","\u002Fbelong-checkin\u002Fdeveloper\u002Fenterprise-whitelabel","3.belong-checkin\u002F19.developer\u002F5.enterprise-whitelabel","i-lucide-package",{"title":167,"path":168,"stem":169,"icon":170},"POS & Events","\u002Fbelong-checkin\u002Fdeveloper\u002Fwebhooks-and-pos","3.belong-checkin\u002F19.developer\u002F6.webhooks-and-pos","i-lucide-receipt",{"title":172,"path":173,"stem":174,"icon":131},"Check-In Modes","\u002Fbelong-checkin\u002Fcheck-in-modes","3.belong-checkin\u002F2.check-in-modes",{"title":176,"path":177,"stem":178,"icon":179},"Venue Quick Start","\u002Fbelong-checkin\u002Fvenue-quickstart","3.belong-checkin\u002F3.venue-quickstart","i-lucide-store",{"title":181,"path":182,"stem":183,"icon":184},"Customer Rewards","\u002Fbelong-checkin\u002Fcustomer_rewards_guide","3.belong-checkin\u002F4.customer_rewards_guide","i-lucide-gift",{"title":186,"path":187,"stem":188,"icon":54},"Promoter Earnings","\u002Fbelong-checkin\u002Fpromoter-earnings-guide","3.belong-checkin\u002F5.promoter-earnings-guide",{"title":190,"path":191,"stem":192,"icon":193},"Venue Partner","\u002Fbelong-checkin\u002Fvenue-partner","3.belong-checkin\u002F6.venue-partner","i-lucide-building",{"title":195,"path":196,"stem":197,"icon":198},"Event Creation","\u002Fbelong-checkin\u002Fevent-creation","3.belong-checkin\u002F7.event-creation","i-lucide-calendar-plus",{"title":200,"path":201,"stem":202,"icon":54},"Wallet & Sign-In","\u002Fbelong-checkin\u002Fwallet-and-auth","3.belong-checkin\u002F8.wallet-and-auth",{"title":204,"path":205,"stem":206,"icon":207},"AI & Voice","\u002Fbelong-checkin\u002Fai-and-voice","3.belong-checkin\u002F9.ai-and-voice","i-lucide-mic",{"title":209,"path":210,"stem":211,"children":212,"page":29},"MCP Cheat Sheet","\u002Fmcp","4.mcp",[213,216,220,224,228,232,236,240,244,248],{"title":92,"path":214,"stem":215,"icon":23},"\u002Fmcp\u002Foverview","4.mcp\u002Foverview",{"title":217,"path":218,"stem":219,"icon":23},"Addresses","\u002Fmcp\u002Ftools-addresses","4.mcp\u002Ftools-addresses",{"title":221,"path":222,"stem":223,"icon":23},"CheckIn","\u002Fmcp\u002Ftools-check-in","4.mcp\u002Ftools-check-In",{"title":225,"path":226,"stem":227,"icon":23},"Events","\u002Fmcp\u002Ftools-events","4.mcp\u002Ftools-events",{"title":229,"path":230,"stem":231,"icon":23},"Hubs","\u002Fmcp\u002Ftools-hubs","4.mcp\u002Ftools-hubs",{"title":233,"path":234,"stem":235,"icon":49},"Minting","\u002Fmcp\u002Ftools-minting","4.mcp\u002Ftools-minting",{"title":237,"path":238,"stem":239,"icon":23},"Notes","\u002Fmcp\u002Ftools-notes","4.mcp\u002Ftools-notes",{"title":241,"path":242,"stem":243,"icon":23},"Registration","\u002Fmcp\u002Ftools-registration","4.mcp\u002Ftools-registration",{"title":245,"path":246,"stem":247,"icon":23},"Starknet","\u002Fmcp\u002Ftools-starknet","4.mcp\u002Ftools-starknet",{"title":249,"path":250,"stem":251,"icon":28},"Vesting","\u002Fmcp\u002Ftools-vesting","4.mcp\u002Ftools-vesting",{"title":253,"icon":13,"path":254,"stem":255,"children":256,"page":29},"Belong AI Deploy","\u002Fai-deploy","5.ai-deploy",[257,260,265,270,275,295,300,305,310],{"title":92,"path":258,"stem":259,"icon":13},"\u002Fai-deploy\u002Foverview","5.ai-deploy\u002F1.overview",{"title":261,"path":262,"stem":263,"icon":264},"Quick Start","\u002Fai-deploy\u002Fquickstart","5.ai-deploy\u002F2.quickstart","i-lucide-zap",{"title":266,"path":267,"stem":268,"icon":269},"Cloud Providers","\u002Fai-deploy\u002Fcloud-providers","5.ai-deploy\u002F3.cloud-providers","i-lucide-cloud",{"title":271,"path":272,"stem":273,"icon":274},"AI Providers","\u002Fai-deploy\u002Fai-providers","5.ai-deploy\u002F4.ai-providers","i-lucide-brain",{"title":276,"icon":277,"path":278,"stem":279,"children":280,"page":29},"Channels","i-lucide-messages-square","\u002Fai-deploy\u002Fchannels","5.ai-deploy\u002F5.channels",[281,285,290],{"title":282,"path":283,"stem":284,"icon":103},"Telegram","\u002Fai-deploy\u002Fchannels\u002Ftelegram","5.ai-deploy\u002F5.channels\u002F1.telegram",{"title":286,"path":287,"stem":288,"icon":289},"WhatsApp","\u002Fai-deploy\u002Fchannels\u002Fwhatsapp","5.ai-deploy\u002F5.channels\u002F2.whatsapp","i-lucide-message-circle",{"title":291,"path":292,"stem":293,"icon":294},"Slack","\u002Fai-deploy\u002Fchannels\u002Fslack","5.ai-deploy\u002F5.channels\u002F3.slack","i-lucide-hash",{"title":296,"path":297,"stem":298,"icon":299},"Private Access","\u002Fai-deploy\u002Fprivate-access","5.ai-deploy\u002F6.private-access","i-lucide-shield",{"title":301,"path":302,"stem":303,"icon":304},"Troubleshooting","\u002Fai-deploy\u002Ftroubleshooting","5.ai-deploy\u002F7.troubleshooting","i-lucide-wrench",{"title":306,"path":307,"stem":308,"icon":309},"Enterprise & API","\u002Fai-deploy\u002Fenterprise-api","5.ai-deploy\u002F8.enterprise-api","i-lucide-server-cog",{"title":311,"path":312,"stem":313,"icon":314},"OVHcloud","\u002Fai-deploy\u002Fovhcloud","5.ai-deploy\u002F9.ovhcloud","i-lucide-cloud-cog",{"id":316,"title":317,"body":318,"description":3957,"extension":3958,"links":3959,"meta":3960,"navigation":3961,"path":61,"seo":3962,"stem":62,"__hash__":3963},"docs\u002F2.guides\u002F1.crypto\u002Fstarknet.md","Starknet NFT Minting Guide for MCP",{"type":319,"value":320,"toc":3944},"minimark",[321,325,329,367,396,419,423,439,442,454,459,468,474,479,748,754,759,847,867,871,877,894,903,1138,1142,1187,1191,1197,1215,1220,1363,1368,1505,1509,1516,1521,1525,1763,1767,1831,1842,1846,1852,1877,1884,1933,1937,2227,2231,2296,2300,3933,3937,3940],[322,323,92],"h2",{"id":324},"overview",[326,327,328],"p",{},"This document describes the complete process of minting NFTs on the Starknet blockchain using MCP (Model Context Protocol) tools. The process involves several steps that must be executed in a specific order to successfully create and mint NFTs.",[330,331,332,344],"blockquote",{},[326,333,334,338,339,343],{},[335,336,337],"strong",{},"📋 Prerequisites:"," Before using these tools, make sure you have ",[340,341,342],"a",{"href":21},"set up MCP integration"," with your API key.",[326,345,346,349,350,354,355,358,359,362,363,366],{},[335,347,348],{},"Account deployment note:"," Starknet wallet addresses are account contracts. The ",[351,352,353],"code",{},"creator_address"," and each ",[351,356,357],{},"items[].receiver"," must be ",[335,360,361],{},"deployed"," on the target network, otherwise you may see errors like ",[351,364,365],{},"Requested contract address ... is not deployed",".",[326,368,369,370,373,374,377,378,381,382,381,385,381,388,391,392,395],{},"The same operations are available as ",[335,371,372],{},"REST API"," endpoints (see ",[351,375,376],{},"starknet.hono.ts","): ",[351,379,380],{},"POST \u002Fdeploy",", ",[351,383,384],{},"POST \u002Fcomplete-deploy",[351,386,387],{},"POST \u002Fmint",[351,389,390],{},"POST \u002Fcomplete-mint",". REST routes require auth and accept the same JSON bodies as the ",[351,393,394],{},"data"," payloads described below.",[326,397,398,399,402,403,406,407,410,411,414,415,418],{},"All four operations are now ",[335,400,401],{},"network-aware",". Pass the same ",[351,404,405],{},"network"," value through the full lifecycle (",[351,408,409],{},"deploy -> complete-deploy -> mint -> complete-mint","). Supported values are ",[351,412,413],{},"\"SN_MAIN\""," and ",[351,416,417],{},"\"SN_SEPOLIA\"",", and the connected wallet must be on the same network.",[322,420,422],{"id":421},"process-flow","Process Flow",[424,425,426,429],"mermaid",{},[326,427,428],{},"sequenceDiagram\nparticipant MCP as MCP Client\nparticipant Tools as MCP Tools\nparticipant API as Backend API\nparticipant Frontend as Frontend\nparticipant Blockchain as Starknet",[430,431,436],"pre",{"className":432,"code":434,"language":435},[433],"language-text","Note over MCP,Blockchain: Deploy Collection\nMCP->>Tools: starknet-deploy-collection\nTools-->>MCP: calls[]\nMCP->>Frontend: pass calls[]\nFrontend->>Blockchain: account.execute(calls)\nBlockchain-->>Frontend: receipt (transaction_hash)\n\nNote over MCP,Blockchain: Complete Deployment\nMCP->>Tools: starknet-complete-deploy\nTools-->>MCP: collection data\n\nNote over MCP,Blockchain: Approve Token Before Mint\nFrontend->>Blockchain: approve(collection_address, total_amount)\nBlockchain-->>Frontend: approve receipt\n\nNote over MCP,Blockchain: Mint NFT\nMCP->>Tools: starknet-mint-nft\nTools-->>MCP: calls[]\nMCP->>Frontend: pass calls[]\nFrontend->>Blockchain: account.execute(calls)\nBlockchain-->>Frontend: receipt (transaction_hash)\n\nNote over MCP,Blockchain: Complete Mint\nMCP->>Tools: starknet-complete-mint\nTools-->>MCP: NFT records\n","text",[351,437,434],{"__ignoreMap":438},"",[322,440,153],{"id":441},"mcp-tools",[326,443,444,445,447,448,451,452,366],{},"All tools accept input under a ",[351,446,394],{}," key: pass ",[351,449,450],{},"{ data: { ...fields } }"," when calling a tool. The schemas below describe the contents of ",[351,453,394],{},[455,456,458],"h3",{"id":457},"_1-deploy-collection","1. Deploy Collection",[326,460,461,464,465],{},[335,462,463],{},"Tool:"," ",[351,466,467],{},"starknet-deploy-collection",[326,469,470,473],{},[335,471,472],{},"Description:"," Deploy a collection. As a result of executing this command, you will receive a transaction that needs to be signed and sent to the blockchain.",[326,475,476],{},[335,477,478],{},"Input data:",[430,480,484],{"className":481,"code":482,"language":483,"meta":438,"style":438},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  name: string,                    \u002F\u002F Collection name (required, min 1 char, cannot be empty\u002Fwhitespace)\n  symbol: string,                   \u002F\u002F Collection symbol (required, min 1 char, cannot contain spaces)\n  description?: string,             \u002F\u002F Optional description\n  feeNumerator: number,             \u002F\u002F Royalty numerator in percentage (0-8, e.g., 8 = 8%)\n  transferable: boolean,            \u002F\u002F Whether NFT can be transferred\n  maxTotalSupply: number,           \u002F\u002F Maximum NFT count\n  mintPrice: number,                \u002F\u002F Base price per mint (human amount, e.g., 2, 0.5)\n  whitelistMintPrice: number,       \u002F\u002F Discounted price for whitelisted minters (human amount)\n  paymentToken: \"STRK\"|\"ETH\"|\"USDC\", \u002F\u002F Payment token\n  creator: string,                  \u002F\u002F Creator wallet address (Starknet address format)\n  externalUrl?: string | null,      \u002F\u002F Optional external website\u002Fapp link\n  referralCode?: string,            \u002F\u002F Optional referral code\n  network: \"SN_MAIN\"|\"SN_SEPOLIA\" \u002F\u002F Target Starknet network\n}\n","typescript",[351,485,486,495,516,531,547,563,579,594,609,624,666,681,700,715,742],{"__ignoreMap":438},[487,488,491],"span",{"class":489,"line":490},"line",1,[487,492,494],{"class":493},"sMK4o","{\n",[487,496,498,502,505,509,512],{"class":489,"line":497},2,[487,499,501],{"class":500},"sBMFI","  name",[487,503,504],{"class":493},":",[487,506,508],{"class":507},"sTEyZ"," string",[487,510,511],{"class":493},",",[487,513,515],{"class":514},"sHwdD","                    \u002F\u002F Collection name (required, min 1 char, cannot be empty\u002Fwhitespace)\n",[487,517,519,522,524,526,528],{"class":489,"line":518},3,[487,520,521],{"class":500},"  symbol",[487,523,504],{"class":493},[487,525,508],{"class":507},[487,527,511],{"class":493},[487,529,530],{"class":514},"                   \u002F\u002F Collection symbol (required, min 1 char, cannot contain spaces)\n",[487,532,534,537,540,542,544],{"class":489,"line":533},4,[487,535,536],{"class":507},"  description",[487,538,539],{"class":493},"?:",[487,541,508],{"class":507},[487,543,511],{"class":493},[487,545,546],{"class":514},"             \u002F\u002F Optional description\n",[487,548,550,553,555,558,560],{"class":489,"line":549},5,[487,551,552],{"class":500},"  feeNumerator",[487,554,504],{"class":493},[487,556,557],{"class":507}," number",[487,559,511],{"class":493},[487,561,562],{"class":514},"             \u002F\u002F Royalty numerator in percentage (0-8, e.g., 8 = 8%)\n",[487,564,566,569,571,574,576],{"class":489,"line":565},6,[487,567,568],{"class":500},"  transferable",[487,570,504],{"class":493},[487,572,573],{"class":507}," boolean",[487,575,511],{"class":493},[487,577,578],{"class":514},"            \u002F\u002F Whether NFT can be transferred\n",[487,580,582,585,587,589,591],{"class":489,"line":581},7,[487,583,584],{"class":500},"  maxTotalSupply",[487,586,504],{"class":493},[487,588,557],{"class":507},[487,590,511],{"class":493},[487,592,593],{"class":514},"           \u002F\u002F Maximum NFT count\n",[487,595,597,600,602,604,606],{"class":489,"line":596},8,[487,598,599],{"class":500},"  mintPrice",[487,601,504],{"class":493},[487,603,557],{"class":507},[487,605,511],{"class":493},[487,607,608],{"class":514},"                \u002F\u002F Base price per mint (human amount, e.g., 2, 0.5)\n",[487,610,612,615,617,619,621],{"class":489,"line":611},9,[487,613,614],{"class":500},"  whitelistMintPrice",[487,616,504],{"class":493},[487,618,557],{"class":507},[487,620,511],{"class":493},[487,622,623],{"class":514},"       \u002F\u002F Discounted price for whitelisted minters (human amount)\n",[487,625,627,630,632,635,639,642,645,647,650,652,654,656,659,661,663],{"class":489,"line":626},10,[487,628,629],{"class":500},"  paymentToken",[487,631,504],{"class":493},[487,633,634],{"class":493}," \"",[487,636,638],{"class":637},"sfazB","STRK",[487,640,641],{"class":493},"\"",[487,643,644],{"class":493},"|",[487,646,641],{"class":493},[487,648,649],{"class":637},"ETH",[487,651,641],{"class":493},[487,653,644],{"class":493},[487,655,641],{"class":493},[487,657,658],{"class":637},"USDC",[487,660,641],{"class":493},[487,662,511],{"class":493},[487,664,665],{"class":514}," \u002F\u002F Payment token\n",[487,667,669,672,674,676,678],{"class":489,"line":668},11,[487,670,671],{"class":500},"  creator",[487,673,504],{"class":493},[487,675,508],{"class":507},[487,677,511],{"class":493},[487,679,680],{"class":514},"                  \u002F\u002F Creator wallet address (Starknet address format)\n",[487,682,684,687,689,691,694,697],{"class":489,"line":683},12,[487,685,686],{"class":507},"  externalUrl",[487,688,539],{"class":493},[487,690,508],{"class":507},[487,692,693],{"class":493}," |",[487,695,696],{"class":493}," null,",[487,698,699],{"class":514},"      \u002F\u002F Optional external website\u002Fapp link\n",[487,701,703,706,708,710,712],{"class":489,"line":702},13,[487,704,705],{"class":507},"  referralCode",[487,707,539],{"class":493},[487,709,508],{"class":507},[487,711,511],{"class":493},[487,713,714],{"class":514},"            \u002F\u002F Optional referral code\n",[487,716,718,721,723,725,728,730,732,734,737,739],{"class":489,"line":717},14,[487,719,720],{"class":500},"  network",[487,722,504],{"class":493},[487,724,634],{"class":493},[487,726,727],{"class":637},"SN_MAIN",[487,729,641],{"class":493},[487,731,644],{"class":493},[487,733,641],{"class":493},[487,735,736],{"class":637},"SN_SEPOLIA",[487,738,641],{"class":493},[487,740,741],{"class":514}," \u002F\u002F Target Starknet network\n",[487,743,745],{"class":489,"line":744},15,[487,746,747],{"class":493},"}\n",[326,749,750,753],{},[335,751,752],{},"Note:"," The backend automatically calculates total royalty (platform fee + creator fee) and validates it doesn't exceed 80%.",[326,755,756],{},[335,757,758],{},"Output data:",[430,760,762],{"className":481,"code":761,"language":483,"meta":438,"style":438},"{\n  calls: [\n    {\n      contractAddress: string,      \u002F\u002F Factory contract address\n      entrypoint: \"produce\",       \u002F\u002F Entrypoint name\n      calldata: any[]               \u002F\u002F Compiled calldata\n    }\n  ]\n}\n",[351,763,764,768,779,784,798,817,833,838,843],{"__ignoreMap":438},[487,765,766],{"class":489,"line":490},[487,767,494],{"class":493},[487,769,770,773,775],{"class":489,"line":497},[487,771,772],{"class":500},"  calls",[487,774,504],{"class":493},[487,776,778],{"class":777},"swJcz"," [\n",[487,780,781],{"class":489,"line":518},[487,782,783],{"class":493},"    {\n",[487,785,786,789,791,793,795],{"class":489,"line":533},[487,787,788],{"class":777},"      contractAddress",[487,790,504],{"class":493},[487,792,508],{"class":507},[487,794,511],{"class":493},[487,796,797],{"class":514},"      \u002F\u002F Factory contract address\n",[487,799,800,803,805,807,810,812,814],{"class":489,"line":549},[487,801,802],{"class":777},"      entrypoint",[487,804,504],{"class":493},[487,806,634],{"class":493},[487,808,809],{"class":637},"produce",[487,811,641],{"class":493},[487,813,511],{"class":493},[487,815,816],{"class":514},"       \u002F\u002F Entrypoint name\n",[487,818,819,822,824,827,830],{"class":489,"line":565},[487,820,821],{"class":777},"      calldata",[487,823,504],{"class":493},[487,825,826],{"class":507}," any",[487,828,829],{"class":777},"[]               ",[487,831,832],{"class":514},"\u002F\u002F Compiled calldata\n",[487,834,835],{"class":489,"line":581},[487,836,837],{"class":493},"    }\n",[487,839,840],{"class":489,"line":596},[487,841,842],{"class":777},"  ]\n",[487,844,845],{"class":489,"line":611},[487,846,747],{"class":493},[326,848,849,851,852,855,856,859,860,863,864,866],{},[335,850,752],{}," Returns an object ",[351,853,854],{},"{ calls: [...] }"," (or ",[351,857,858],{},"{ error: string }"," on failure). After executing the transaction, use the transaction hash with ",[351,861,862],{},"starknet-complete-deploy"," and payload under ",[351,865,394],{}," to finalize collection creation in the database.",[455,868,870],{"id":869},"_2-complete-deployment","2. Complete Deployment",[326,872,873,464,875],{},[335,874,463],{},[351,876,862],{},[326,878,879,881,882,885,886,889,890,893],{},[335,880,472],{}," Validates the deployment transaction receipt and creates or refreshes the collection record in the database. When ",[351,883,884],{},"activityId"," or ",[351,887,888],{},"hubId"," is provided, the linked entity is published with ",[351,891,892],{},"passStrategy: STATIC"," to enable QR pass flow.",[326,895,896,899,900,504],{},[335,897,898],{},"Input:"," Pass as ",[351,901,902],{},"{ data: { ... } }",[430,904,906],{"className":481,"code":905,"language":483,"meta":438,"style":438},"{\n  hash: string,                    \u002F\u002F Transaction hash from deploy step (required, non-zero)\n  gasless?: boolean,               \u002F\u002F Enable gasless transactions (optional)\n  hubId?: string | null,           \u002F\u002F Optional hub ID for whitelisting\n  activityId?: string | null,      \u002F\u002F Optional activity ID\n  whitelist_hubIDs?: string[],     \u002F\u002F Array of hub IDs for whitelist (optional)\n  whitelist_userIDs?: string[],    \u002F\u002F Array of user IDs for whitelist (optional)\n  attributes?: [                   \u002F\u002F Default attributes for NFTs (optional)\n    {\n      trait_type: string,\n      display_type?: \"string\" | \"number\" | \"date\" | \"boost_number\" | \"boost_percentage\", \u002F\u002F Optional, defaults to \"string\"\n      value: string\n    }\n  ],\n  network: \"SN_MAIN\"|\"SN_SEPOLIA\" \u002F\u002F Same network used during deploy\n}\n",[351,907,908,912,926,940,956,972,989,1005,1018,1022,1034,1089,1099,1103,1110,1133],{"__ignoreMap":438},[487,909,910],{"class":489,"line":490},[487,911,494],{"class":493},[487,913,914,917,919,921,923],{"class":489,"line":497},[487,915,916],{"class":500},"  hash",[487,918,504],{"class":493},[487,920,508],{"class":507},[487,922,511],{"class":493},[487,924,925],{"class":514},"                    \u002F\u002F Transaction hash from deploy step (required, non-zero)\n",[487,927,928,931,933,935,937],{"class":489,"line":518},[487,929,930],{"class":507},"  gasless",[487,932,539],{"class":493},[487,934,573],{"class":507},[487,936,511],{"class":493},[487,938,939],{"class":514},"               \u002F\u002F Enable gasless transactions (optional)\n",[487,941,942,945,947,949,951,953],{"class":489,"line":533},[487,943,944],{"class":507},"  hubId",[487,946,539],{"class":493},[487,948,508],{"class":507},[487,950,693],{"class":493},[487,952,696],{"class":493},[487,954,955],{"class":514},"           \u002F\u002F Optional hub ID for whitelisting\n",[487,957,958,961,963,965,967,969],{"class":489,"line":549},[487,959,960],{"class":507},"  activityId",[487,962,539],{"class":493},[487,964,508],{"class":507},[487,966,693],{"class":493},[487,968,696],{"class":493},[487,970,971],{"class":514},"      \u002F\u002F Optional activity ID\n",[487,973,974,977,979,981,984,986],{"class":489,"line":565},[487,975,976],{"class":507},"  whitelist_hubIDs",[487,978,539],{"class":493},[487,980,508],{"class":507},[487,982,983],{"class":777},"[]",[487,985,511],{"class":493},[487,987,988],{"class":514},"     \u002F\u002F Array of hub IDs for whitelist (optional)\n",[487,990,991,994,996,998,1000,1002],{"class":489,"line":581},[487,992,993],{"class":507},"  whitelist_userIDs",[487,995,539],{"class":493},[487,997,508],{"class":507},[487,999,983],{"class":777},[487,1001,511],{"class":493},[487,1003,1004],{"class":514},"    \u002F\u002F Array of user IDs for whitelist (optional)\n",[487,1006,1007,1010,1012,1015],{"class":489,"line":596},[487,1008,1009],{"class":507},"  attributes",[487,1011,539],{"class":493},[487,1013,1014],{"class":777}," [                   ",[487,1016,1017],{"class":514},"\u002F\u002F Default attributes for NFTs (optional)\n",[487,1019,1020],{"class":489,"line":611},[487,1021,783],{"class":493},[487,1023,1024,1027,1029,1031],{"class":489,"line":626},[487,1025,1026],{"class":777},"      trait_type",[487,1028,504],{"class":493},[487,1030,508],{"class":507},[487,1032,1033],{"class":493},",\n",[487,1035,1036,1039,1041,1043,1046,1048,1050,1052,1055,1057,1059,1061,1064,1066,1068,1070,1073,1075,1077,1079,1082,1084,1086],{"class":489,"line":668},[487,1037,1038],{"class":777},"      display_type?",[487,1040,504],{"class":493},[487,1042,634],{"class":493},[487,1044,1045],{"class":637},"string",[487,1047,641],{"class":493},[487,1049,693],{"class":493},[487,1051,634],{"class":493},[487,1053,1054],{"class":637},"number",[487,1056,641],{"class":493},[487,1058,693],{"class":493},[487,1060,634],{"class":493},[487,1062,1063],{"class":637},"date",[487,1065,641],{"class":493},[487,1067,693],{"class":493},[487,1069,634],{"class":493},[487,1071,1072],{"class":637},"boost_number",[487,1074,641],{"class":493},[487,1076,693],{"class":493},[487,1078,634],{"class":493},[487,1080,1081],{"class":637},"boost_percentage",[487,1083,641],{"class":493},[487,1085,511],{"class":493},[487,1087,1088],{"class":514}," \u002F\u002F Optional, defaults to \"string\"\n",[487,1090,1091,1094,1096],{"class":489,"line":683},[487,1092,1093],{"class":777},"      value",[487,1095,504],{"class":493},[487,1097,1098],{"class":507}," string\n",[487,1100,1101],{"class":489,"line":702},[487,1102,837],{"class":493},[487,1104,1105,1108],{"class":489,"line":717},[487,1106,1107],{"class":777},"  ]",[487,1109,1033],{"class":493},[487,1111,1112,1114,1116,1118,1120,1122,1124,1126,1128,1130],{"class":489,"line":744},[487,1113,720],{"class":500},[487,1115,504],{"class":493},[487,1117,634],{"class":493},[487,1119,727],{"class":637},[487,1121,641],{"class":493},[487,1123,644],{"class":493},[487,1125,641],{"class":493},[487,1127,736],{"class":637},[487,1129,641],{"class":493},[487,1131,1132],{"class":514}," \u002F\u002F Same network used during deploy\n",[487,1134,1136],{"class":489,"line":1135},16,[487,1137,747],{"class":493},[326,1139,1140],{},[335,1141,758],{},[430,1143,1145],{"className":481,"code":1144,"language":483,"meta":438,"style":438},"{\n  \u002F\u002F NftCollection object with all collection data\n  id: string,\n  contractAddress: string,\n  \u002F\u002F ... other collection fields\n}\n",[351,1146,1147,1151,1156,1167,1178,1183],{"__ignoreMap":438},[487,1148,1149],{"class":489,"line":490},[487,1150,494],{"class":493},[487,1152,1153],{"class":489,"line":497},[487,1154,1155],{"class":514},"  \u002F\u002F NftCollection object with all collection data\n",[487,1157,1158,1161,1163,1165],{"class":489,"line":518},[487,1159,1160],{"class":500},"  id",[487,1162,504],{"class":493},[487,1164,508],{"class":507},[487,1166,1033],{"class":493},[487,1168,1169,1172,1174,1176],{"class":489,"line":533},[487,1170,1171],{"class":500},"  contractAddress",[487,1173,504],{"class":493},[487,1175,508],{"class":507},[487,1177,1033],{"class":493},[487,1179,1180],{"class":489,"line":549},[487,1181,1182],{"class":514},"  \u002F\u002F ... other collection fields\n",[487,1184,1185],{"class":489,"line":565},[487,1186,747],{"class":493},[455,1188,1190],{"id":1189},"_3-approve-payment-token-required-before-mint","3. Approve Payment Token (Required before Mint)",[326,1192,1193,1196],{},[335,1194,1195],{},"⚠️ Important:"," Before minting NFTs, you must approve the collection contract to spend the required amount of payment tokens on your behalf.",[326,1198,1199,1202,1203,1206,1207,1210,1211,1214],{},[335,1200,1201],{},"Important units:"," ERC20 ",[351,1204,1205],{},"approve(amount)"," expects the ",[335,1208,1209],{},"base-units"," amount (u256), not a human decimal string.\nIf your ",[351,1212,1213],{},"items[].price"," values are human amounts, convert them to base units using token decimals before summing and approving.",[326,1216,1217],{},[335,1218,1219],{},"Token addresses depend on the selected Starknet network:",[430,1221,1223],{"className":481,"code":1222,"language":483,"meta":438,"style":438},"const STARKNET_TOKEN_ADDRESSES = {\n  SN_MAIN: {\n    STRK: \"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d\",\n    ETH: \"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7\",\n    USDC: \"0x033068f6539f8e6e6b131e6b2b814e6c34a5224bc66947c47dab9dfee93b35fb\",\n  },\n  SN_SEPOLIA: {\n    STRK: \"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d\",\n    ETH: \"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7\",\n    USDC: \"0x0512feac6339ff7889822cb5aa2a86c848e9d392bb0e3e237c008674feed8343\",\n  },\n};\n",[351,1224,1225,1240,1249,1265,1281,1297,1302,1311,1325,1339,1354,1358],{"__ignoreMap":438},[487,1226,1227,1231,1234,1237],{"class":489,"line":490},[487,1228,1230],{"class":1229},"spNyl","const",[487,1232,1233],{"class":507}," STARKNET_TOKEN_ADDRESSES ",[487,1235,1236],{"class":493},"=",[487,1238,1239],{"class":493}," {\n",[487,1241,1242,1245,1247],{"class":489,"line":497},[487,1243,1244],{"class":777},"  SN_MAIN",[487,1246,504],{"class":493},[487,1248,1239],{"class":493},[487,1250,1251,1254,1256,1258,1261,1263],{"class":489,"line":518},[487,1252,1253],{"class":777},"    STRK",[487,1255,504],{"class":493},[487,1257,634],{"class":493},[487,1259,1260],{"class":637},"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",[487,1262,641],{"class":493},[487,1264,1033],{"class":493},[487,1266,1267,1270,1272,1274,1277,1279],{"class":489,"line":533},[487,1268,1269],{"class":777},"    ETH",[487,1271,504],{"class":493},[487,1273,634],{"class":493},[487,1275,1276],{"class":637},"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",[487,1278,641],{"class":493},[487,1280,1033],{"class":493},[487,1282,1283,1286,1288,1290,1293,1295],{"class":489,"line":549},[487,1284,1285],{"class":777},"    USDC",[487,1287,504],{"class":493},[487,1289,634],{"class":493},[487,1291,1292],{"class":637},"0x033068f6539f8e6e6b131e6b2b814e6c34a5224bc66947c47dab9dfee93b35fb",[487,1294,641],{"class":493},[487,1296,1033],{"class":493},[487,1298,1299],{"class":489,"line":565},[487,1300,1301],{"class":493},"  },\n",[487,1303,1304,1307,1309],{"class":489,"line":581},[487,1305,1306],{"class":777},"  SN_SEPOLIA",[487,1308,504],{"class":493},[487,1310,1239],{"class":493},[487,1312,1313,1315,1317,1319,1321,1323],{"class":489,"line":596},[487,1314,1253],{"class":777},[487,1316,504],{"class":493},[487,1318,634],{"class":493},[487,1320,1260],{"class":637},[487,1322,641],{"class":493},[487,1324,1033],{"class":493},[487,1326,1327,1329,1331,1333,1335,1337],{"class":489,"line":611},[487,1328,1269],{"class":777},[487,1330,504],{"class":493},[487,1332,634],{"class":493},[487,1334,1276],{"class":637},[487,1336,641],{"class":493},[487,1338,1033],{"class":493},[487,1340,1341,1343,1345,1347,1350,1352],{"class":489,"line":626},[487,1342,1285],{"class":777},[487,1344,504],{"class":493},[487,1346,634],{"class":493},[487,1348,1349],{"class":637},"0x0512feac6339ff7889822cb5aa2a86c848e9d392bb0e3e237c008674feed8343",[487,1351,641],{"class":493},[487,1353,1033],{"class":493},[487,1355,1356],{"class":489,"line":668},[487,1357,1301],{"class":493},[487,1359,1360],{"class":489,"line":683},[487,1361,1362],{"class":493},"};\n",[326,1364,1365],{},[335,1366,1367],{},"Implementation:",[430,1369,1371],{"className":481,"code":1370,"language":483,"meta":438,"style":438},"\u002F\u002F Example: approve 1 token (18 decimals) => 1e18 base units\nconst approveCall = {\n  contractAddress: STARKNET_TOKEN_ADDRESSES[network].STRK,\n  entrypoint: \"approve\",\n  calldata: [\n    collection_address, \u002F\u002F spender\n    \"1000000000000000000\", \u002F\u002F amount\n    \"0\", \u002F\u002F high part\n  ],\n};\n\nawait account.execute([approveCall]);\n",[351,1372,1373,1378,1389,1404,1420,1429,1439,1454,1468,1474,1478,1484],{"__ignoreMap":438},[487,1374,1375],{"class":489,"line":490},[487,1376,1377],{"class":514},"\u002F\u002F Example: approve 1 token (18 decimals) => 1e18 base units\n",[487,1379,1380,1382,1385,1387],{"class":489,"line":497},[487,1381,1230],{"class":1229},[487,1383,1384],{"class":507}," approveCall ",[487,1386,1236],{"class":493},[487,1388,1239],{"class":493},[487,1390,1391,1393,1395,1398,1400,1402],{"class":489,"line":518},[487,1392,1171],{"class":777},[487,1394,504],{"class":493},[487,1396,1397],{"class":507}," STARKNET_TOKEN_ADDRESSES[network]",[487,1399,366],{"class":493},[487,1401,638],{"class":507},[487,1403,1033],{"class":493},[487,1405,1406,1409,1411,1413,1416,1418],{"class":489,"line":533},[487,1407,1408],{"class":777},"  entrypoint",[487,1410,504],{"class":493},[487,1412,634],{"class":493},[487,1414,1415],{"class":637},"approve",[487,1417,641],{"class":493},[487,1419,1033],{"class":493},[487,1421,1422,1425,1427],{"class":489,"line":549},[487,1423,1424],{"class":777},"  calldata",[487,1426,504],{"class":493},[487,1428,778],{"class":507},[487,1430,1431,1434,1436],{"class":489,"line":565},[487,1432,1433],{"class":507},"    collection_address",[487,1435,511],{"class":493},[487,1437,1438],{"class":514}," \u002F\u002F spender\n",[487,1440,1441,1444,1447,1449,1451],{"class":489,"line":581},[487,1442,1443],{"class":493},"    \"",[487,1445,1446],{"class":637},"1000000000000000000",[487,1448,641],{"class":493},[487,1450,511],{"class":493},[487,1452,1453],{"class":514}," \u002F\u002F amount\n",[487,1455,1456,1458,1461,1463,1465],{"class":489,"line":596},[487,1457,1443],{"class":493},[487,1459,1460],{"class":637},"0",[487,1462,641],{"class":493},[487,1464,511],{"class":493},[487,1466,1467],{"class":514}," \u002F\u002F high part\n",[487,1469,1470,1472],{"class":489,"line":611},[487,1471,1107],{"class":507},[487,1473,1033],{"class":493},[487,1475,1476],{"class":489,"line":626},[487,1477,1362],{"class":493},[487,1479,1480],{"class":489,"line":668},[487,1481,1483],{"emptyLinePlaceholder":1482},true,"\n",[487,1485,1486,1490,1493,1495,1499,1502],{"class":489,"line":683},[487,1487,1489],{"class":1488},"s7zQu","await",[487,1491,1492],{"class":507}," account",[487,1494,366],{"class":493},[487,1496,1498],{"class":1497},"s2Zo4","execute",[487,1500,1501],{"class":507},"([approveCall])",[487,1503,1504],{"class":493},";\n",[455,1506,1508],{"id":1507},"_4-mint-nft","4. Mint NFT",[326,1510,1511,464,1513],{},[335,1512,463],{},[351,1514,1515],{},"starknet-mint-nft",[326,1517,1518,1520],{},[335,1519,472],{}," Mint an NFT. As a result of executing this command, you will receive a transaction that needs to be signed and sent to the blockchain.",[326,1522,1523],{},[335,1524,478],{},[430,1526,1528],{"className":481,"code":1527,"language":483,"meta":438,"style":438},"{\n  collection_address: string,      \u002F\u002F Created collection address\n  items: [\n    {\n      receiver: string,            \u002F\u002F NFT receiver address\n      name: string,                \u002F\u002F NFT name\n      description: string,         \u002F\u002F NFT description\n      price: string,               \u002F\u002F Human amount string (e.g. \"0.2\") - backend converts to u256 base-units by token decimals\n      quantity: number,            \u002F\u002F Number of copies\n      image?: string,              \u002F\u002F NFT image URL\n      externalUrl?: string,        \u002F\u002F External link\n      animation_url?: string,      \u002F\u002F Animation URL\n      attributes?: [               \u002F\u002F NFT attributes\n        {\n          trait_type: string,\n          value: string\n        }\n      ]\n    }\n  ],\n  network: \"SN_MAIN\"|\"SN_SEPOLIA\" \u002F\u002F Same network used during deploy\n}\n",[351,1529,1530,1534,1548,1557,1561,1575,1589,1603,1617,1631,1645,1659,1673,1686,1691,1702,1711,1717,1723,1728,1735,1758],{"__ignoreMap":438},[487,1531,1532],{"class":489,"line":490},[487,1533,494],{"class":493},[487,1535,1536,1539,1541,1543,1545],{"class":489,"line":497},[487,1537,1538],{"class":500},"  collection_address",[487,1540,504],{"class":493},[487,1542,508],{"class":507},[487,1544,511],{"class":493},[487,1546,1547],{"class":514},"      \u002F\u002F Created collection address\n",[487,1549,1550,1553,1555],{"class":489,"line":518},[487,1551,1552],{"class":500},"  items",[487,1554,504],{"class":493},[487,1556,778],{"class":777},[487,1558,1559],{"class":489,"line":533},[487,1560,783],{"class":493},[487,1562,1563,1566,1568,1570,1572],{"class":489,"line":549},[487,1564,1565],{"class":777},"      receiver",[487,1567,504],{"class":493},[487,1569,508],{"class":507},[487,1571,511],{"class":493},[487,1573,1574],{"class":514},"            \u002F\u002F NFT receiver address\n",[487,1576,1577,1580,1582,1584,1586],{"class":489,"line":565},[487,1578,1579],{"class":777},"      name",[487,1581,504],{"class":493},[487,1583,508],{"class":507},[487,1585,511],{"class":493},[487,1587,1588],{"class":514},"                \u002F\u002F NFT name\n",[487,1590,1591,1594,1596,1598,1600],{"class":489,"line":581},[487,1592,1593],{"class":777},"      description",[487,1595,504],{"class":493},[487,1597,508],{"class":507},[487,1599,511],{"class":493},[487,1601,1602],{"class":514},"         \u002F\u002F NFT description\n",[487,1604,1605,1608,1610,1612,1614],{"class":489,"line":596},[487,1606,1607],{"class":777},"      price",[487,1609,504],{"class":493},[487,1611,508],{"class":507},[487,1613,511],{"class":493},[487,1615,1616],{"class":514},"               \u002F\u002F Human amount string (e.g. \"0.2\") - backend converts to u256 base-units by token decimals\n",[487,1618,1619,1622,1624,1626,1628],{"class":489,"line":611},[487,1620,1621],{"class":777},"      quantity",[487,1623,504],{"class":493},[487,1625,557],{"class":507},[487,1627,511],{"class":493},[487,1629,1630],{"class":514},"            \u002F\u002F Number of copies\n",[487,1632,1633,1636,1638,1640,1642],{"class":489,"line":626},[487,1634,1635],{"class":777},"      image?",[487,1637,504],{"class":493},[487,1639,508],{"class":507},[487,1641,511],{"class":493},[487,1643,1644],{"class":514},"              \u002F\u002F NFT image URL\n",[487,1646,1647,1650,1652,1654,1656],{"class":489,"line":668},[487,1648,1649],{"class":777},"      externalUrl?",[487,1651,504],{"class":493},[487,1653,508],{"class":507},[487,1655,511],{"class":493},[487,1657,1658],{"class":514},"        \u002F\u002F External link\n",[487,1660,1661,1664,1666,1668,1670],{"class":489,"line":683},[487,1662,1663],{"class":777},"      animation_url?",[487,1665,504],{"class":493},[487,1667,508],{"class":507},[487,1669,511],{"class":493},[487,1671,1672],{"class":514},"      \u002F\u002F Animation URL\n",[487,1674,1675,1678,1680,1683],{"class":489,"line":702},[487,1676,1677],{"class":777},"      attributes?",[487,1679,504],{"class":493},[487,1681,1682],{"class":777}," [               ",[487,1684,1685],{"class":514},"\u002F\u002F NFT attributes\n",[487,1687,1688],{"class":489,"line":717},[487,1689,1690],{"class":493},"        {\n",[487,1692,1693,1696,1698,1700],{"class":489,"line":744},[487,1694,1695],{"class":777},"          trait_type",[487,1697,504],{"class":493},[487,1699,508],{"class":507},[487,1701,1033],{"class":493},[487,1703,1704,1707,1709],{"class":489,"line":1135},[487,1705,1706],{"class":777},"          value",[487,1708,504],{"class":493},[487,1710,1098],{"class":507},[487,1712,1714],{"class":489,"line":1713},17,[487,1715,1716],{"class":493},"        }\n",[487,1718,1720],{"class":489,"line":1719},18,[487,1721,1722],{"class":777},"      ]\n",[487,1724,1726],{"class":489,"line":1725},19,[487,1727,837],{"class":493},[487,1729,1731,1733],{"class":489,"line":1730},20,[487,1732,1107],{"class":777},[487,1734,1033],{"class":493},[487,1736,1738,1740,1742,1744,1746,1748,1750,1752,1754,1756],{"class":489,"line":1737},21,[487,1739,720],{"class":500},[487,1741,504],{"class":493},[487,1743,634],{"class":493},[487,1745,727],{"class":637},[487,1747,641],{"class":493},[487,1749,644],{"class":493},[487,1751,641],{"class":493},[487,1753,736],{"class":637},[487,1755,641],{"class":493},[487,1757,1132],{"class":514},[487,1759,1761],{"class":489,"line":1760},22,[487,1762,747],{"class":493},[326,1764,1765],{},[335,1766,758],{},[430,1768,1770],{"className":481,"code":1769,"language":483,"meta":438,"style":438},"{\n  calls: [\n    {\n      contractAddress: string,\n      entrypoint: string,\n      calldata: any[]\n    }\n  ]\n}\n",[351,1771,1772,1776,1784,1788,1798,1808,1819,1823,1827],{"__ignoreMap":438},[487,1773,1774],{"class":489,"line":490},[487,1775,494],{"class":493},[487,1777,1778,1780,1782],{"class":489,"line":497},[487,1779,772],{"class":500},[487,1781,504],{"class":493},[487,1783,778],{"class":777},[487,1785,1786],{"class":489,"line":518},[487,1787,783],{"class":493},[487,1789,1790,1792,1794,1796],{"class":489,"line":533},[487,1791,788],{"class":777},[487,1793,504],{"class":493},[487,1795,508],{"class":507},[487,1797,1033],{"class":493},[487,1799,1800,1802,1804,1806],{"class":489,"line":549},[487,1801,802],{"class":777},[487,1803,504],{"class":493},[487,1805,508],{"class":507},[487,1807,1033],{"class":493},[487,1809,1810,1812,1814,1816],{"class":489,"line":565},[487,1811,821],{"class":777},[487,1813,504],{"class":493},[487,1815,826],{"class":507},[487,1817,1818],{"class":777},"[]\n",[487,1820,1821],{"class":489,"line":581},[487,1822,837],{"class":493},[487,1824,1825],{"class":489,"line":596},[487,1826,842],{"class":777},[487,1828,1829],{"class":489,"line":611},[487,1830,747],{"class":493},[326,1832,1833,851,1835,1837,1838,1841],{},[335,1834,752],{},[351,1836,854],{},". After executing the transaction, use the transaction hash with ",[351,1839,1840],{},"starknet-complete-mint"," MCP tool to parse the receipt and create NFT records in the database.",[455,1843,1845],{"id":1844},"_5-complete-mint","5. Complete Mint",[326,1847,1848,464,1850],{},[335,1849,463],{},[351,1851,1840],{},[326,1853,1854,1856,1857,1860,1861,1864,1865,1868,1869,1872,1873,1876],{},[335,1855,472],{}," Parses the mint transaction receipt, extracts minted NFT information (token IDs, receivers), fetches metadata from ",[351,1858,1859],{},"tokenUri",", calculates ",[351,1862,1863],{},"minted_price",", and creates NFT records in the database. It also returns the minter Starknet wallet in ",[351,1866,1867],{},"cryptoAddress"," response field without persisting Starknet wallet addresses in ",[351,1870,1871],{},"crypto_addresses",". ",[335,1874,1875],{},"Requires MCP auth"," (API key \u002F user context).",[326,1878,1879,899,1881,504],{},[335,1880,898],{},[351,1882,1883],{},"{ data: { hash, network } }",[430,1885,1887],{"className":481,"code":1886,"language":483,"meta":438,"style":438},"{\n  hash: string,                    \u002F\u002F Transaction hash from mint step (required)\n  network: \"SN_MAIN\"|\"SN_SEPOLIA\" \u002F\u002F Same network used during mint\n}\n",[351,1888,1889,1893,1906,1929],{"__ignoreMap":438},[487,1890,1891],{"class":489,"line":490},[487,1892,494],{"class":493},[487,1894,1895,1897,1899,1901,1903],{"class":489,"line":497},[487,1896,916],{"class":500},[487,1898,504],{"class":493},[487,1900,508],{"class":507},[487,1902,511],{"class":493},[487,1904,1905],{"class":514},"                    \u002F\u002F Transaction hash from mint step (required)\n",[487,1907,1908,1910,1912,1914,1916,1918,1920,1922,1924,1926],{"class":489,"line":518},[487,1909,720],{"class":500},[487,1911,504],{"class":493},[487,1913,634],{"class":493},[487,1915,727],{"class":637},[487,1917,641],{"class":493},[487,1919,644],{"class":493},[487,1921,641],{"class":493},[487,1923,736],{"class":637},[487,1925,641],{"class":493},[487,1927,1928],{"class":514}," \u002F\u002F Same network used during mint\n",[487,1930,1931],{"class":489,"line":533},[487,1932,747],{"class":493},[326,1934,1935],{},[335,1936,758],{},[430,1938,1940],{"className":481,"code":1939,"language":483,"meta":438,"style":438},"[\n  {\n    id: string,\n    name: string,\n    hash: string,\n    address: string,\n    block_number: string | null,\n    token_id: string,\n    token_uri: string | null,\n    image: string | null,\n    userId: string,\n    minted_price: number | null,\n    attributes: [\n      {\n        trait_type: string,\n        display_type?: \"string\" | \"number\" | \"date\" | \"boost_number\" | \"boost_percentage\",\n        value: string\n      }\n    ] | null,\n    cryptoAddress: {\n      address: string\n    },\n    receiver: string | null,\n    serialNumber?: string\n  }\n]\n",[351,1941,1942,1947,1952,1963,1974,1985,1996,2011,2022,2035,2048,2059,2073,2082,2087,2098,2145,2154,2159,2168,2177,2186,2191,2205,2215,2221],{"__ignoreMap":438},[487,1943,1944],{"class":489,"line":490},[487,1945,1946],{"class":507},"[\n",[487,1948,1949],{"class":489,"line":497},[487,1950,1951],{"class":493},"  {\n",[487,1953,1954,1957,1959,1961],{"class":489,"line":518},[487,1955,1956],{"class":777},"    id",[487,1958,504],{"class":493},[487,1960,508],{"class":507},[487,1962,1033],{"class":493},[487,1964,1965,1968,1970,1972],{"class":489,"line":533},[487,1966,1967],{"class":777},"    name",[487,1969,504],{"class":493},[487,1971,508],{"class":507},[487,1973,1033],{"class":493},[487,1975,1976,1979,1981,1983],{"class":489,"line":549},[487,1977,1978],{"class":777},"    hash",[487,1980,504],{"class":493},[487,1982,508],{"class":507},[487,1984,1033],{"class":493},[487,1986,1987,1990,1992,1994],{"class":489,"line":565},[487,1988,1989],{"class":777},"    address",[487,1991,504],{"class":493},[487,1993,508],{"class":507},[487,1995,1033],{"class":493},[487,1997,1998,2001,2003,2006,2008],{"class":489,"line":581},[487,1999,2000],{"class":777},"    block_number",[487,2002,504],{"class":493},[487,2004,2005],{"class":507}," string ",[487,2007,644],{"class":493},[487,2009,2010],{"class":493}," null,\n",[487,2012,2013,2016,2018,2020],{"class":489,"line":596},[487,2014,2015],{"class":777},"    token_id",[487,2017,504],{"class":493},[487,2019,508],{"class":507},[487,2021,1033],{"class":493},[487,2023,2024,2027,2029,2031,2033],{"class":489,"line":611},[487,2025,2026],{"class":777},"    token_uri",[487,2028,504],{"class":493},[487,2030,2005],{"class":507},[487,2032,644],{"class":493},[487,2034,2010],{"class":493},[487,2036,2037,2040,2042,2044,2046],{"class":489,"line":626},[487,2038,2039],{"class":777},"    image",[487,2041,504],{"class":493},[487,2043,2005],{"class":507},[487,2045,644],{"class":493},[487,2047,2010],{"class":493},[487,2049,2050,2053,2055,2057],{"class":489,"line":668},[487,2051,2052],{"class":777},"    userId",[487,2054,504],{"class":493},[487,2056,508],{"class":507},[487,2058,1033],{"class":493},[487,2060,2061,2064,2066,2069,2071],{"class":489,"line":683},[487,2062,2063],{"class":777},"    minted_price",[487,2065,504],{"class":493},[487,2067,2068],{"class":507}," number ",[487,2070,644],{"class":493},[487,2072,2010],{"class":493},[487,2074,2075,2078,2080],{"class":489,"line":702},[487,2076,2077],{"class":777},"    attributes",[487,2079,504],{"class":493},[487,2081,778],{"class":507},[487,2083,2084],{"class":489,"line":717},[487,2085,2086],{"class":493},"      {\n",[487,2088,2089,2092,2094,2096],{"class":489,"line":744},[487,2090,2091],{"class":777},"        trait_type",[487,2093,504],{"class":493},[487,2095,508],{"class":507},[487,2097,1033],{"class":493},[487,2099,2100,2103,2105,2107,2109,2111,2113,2115,2117,2119,2121,2123,2125,2127,2129,2131,2133,2135,2137,2139,2141,2143],{"class":489,"line":1135},[487,2101,2102],{"class":507},"        display_type?",[487,2104,504],{"class":493},[487,2106,634],{"class":493},[487,2108,1045],{"class":637},[487,2110,641],{"class":493},[487,2112,693],{"class":493},[487,2114,634],{"class":493},[487,2116,1054],{"class":637},[487,2118,641],{"class":493},[487,2120,693],{"class":493},[487,2122,634],{"class":493},[487,2124,1063],{"class":637},[487,2126,641],{"class":493},[487,2128,693],{"class":493},[487,2130,634],{"class":493},[487,2132,1072],{"class":637},[487,2134,641],{"class":493},[487,2136,693],{"class":493},[487,2138,634],{"class":493},[487,2140,1081],{"class":637},[487,2142,641],{"class":493},[487,2144,1033],{"class":493},[487,2146,2147,2150,2152],{"class":489,"line":1713},[487,2148,2149],{"class":777},"        value",[487,2151,504],{"class":493},[487,2153,1098],{"class":507},[487,2155,2156],{"class":489,"line":1719},[487,2157,2158],{"class":493},"      }\n",[487,2160,2161,2164,2166],{"class":489,"line":1725},[487,2162,2163],{"class":507},"    ] ",[487,2165,644],{"class":493},[487,2167,2010],{"class":493},[487,2169,2170,2173,2175],{"class":489,"line":1730},[487,2171,2172],{"class":777},"    cryptoAddress",[487,2174,504],{"class":493},[487,2176,1239],{"class":493},[487,2178,2179,2182,2184],{"class":489,"line":1737},[487,2180,2181],{"class":777},"      address",[487,2183,504],{"class":493},[487,2185,1098],{"class":507},[487,2187,2188],{"class":489,"line":1760},[487,2189,2190],{"class":493},"    },\n",[487,2192,2194,2197,2199,2201,2203],{"class":489,"line":2193},23,[487,2195,2196],{"class":777},"    receiver",[487,2198,504],{"class":493},[487,2200,2005],{"class":507},[487,2202,644],{"class":493},[487,2204,2010],{"class":493},[487,2206,2208,2211,2213],{"class":489,"line":2207},24,[487,2209,2210],{"class":507},"    serialNumber?",[487,2212,504],{"class":493},[487,2214,1098],{"class":507},[487,2216,2218],{"class":489,"line":2217},25,[487,2219,2220],{"class":493},"  }\n",[487,2222,2224],{"class":489,"line":2223},26,[487,2225,2226],{"class":507},"]\n",[326,2228,2229],{},[335,2230,752],{},[2232,2233,2234,2242,2248,2255,2266,2288],"ul",{},[2235,2236,2237,2238,2241],"li",{},"Automatically parses ",[351,2239,2240],{},"Transfer"," events from the transaction receipt to identify minted NFTs and the actual NFT contract",[2235,2243,2244,2245,2247],{},"Fetches and parses metadata from ",[351,2246,1859],{}," (supports JSON strings, HTTP\u002FHTTPS URLs, and Data URIs)",[2235,2249,2250,2251,2254],{},"Creates NFT records in DB during ",[351,2252,2253],{},"complete-mint","; repeat calls for the same transaction are not intended as the primary flow",[2235,2256,2257,414,2260,2262,2263,2265],{},[351,2258,2259],{},"complete-deploy",[351,2261,2253],{}," must be called with the same ",[351,2264,405],{}," value that was used for the original transaction",[2235,2267,2268,2269,381,2272,381,2275,381,2278,381,2281,2284,2285],{},"Extracts metadata fields: ",[351,2270,2271],{},"name",[351,2273,2274],{},"image",[351,2276,2277],{},"description",[351,2279,2280],{},"external_url",[351,2282,2283],{},"animation_url",", and ",[351,2286,2287],{},"attributes",[2235,2289,2290,2291,885,2293,2295],{},"If the collection is linked to an ",[351,2292,884],{},[351,2294,888],{},", QR passes are created during NFT persistence and QR emails use Voyager links for Starknet",[322,2297,2299],{"id":2298},"usage","Usage",[430,2301,2305],{"className":2302,"code":2303,"language":2304,"meta":438,"style":438},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F 1. Deploy collection using MCP tool\nconst collectionData = {\n  name: \"My NFT Collection\",\n  symbol: \"MNFT\",\n  description: \"A unique collection\",\n  feeNumerator: 5, \u002F\u002F 5% royalty\n  transferable: true,\n  maxTotalSupply: 10000,\n  mintPrice: 2,\n  whitelistMintPrice: 1,\n  paymentToken: \"USDC\",\n  creator: \"0x...\", \u002F\u002F Your Starknet wallet address\n  externalUrl: \"https:\u002F\u002Fexample.com\",\n  referralCode: \"0\", \u002F\u002F Optional\n};\n\nconst deployResult = await mcp.callTool(\"starknet-deploy-collection\", {\n  data: collectionData,\n});\n\nconst calls = JSON.parse(deployResult.content[0].text); \u002F\u002F Extract calls array from MCP response\n\n\u002F\u002F On frontend: Execute transaction\nconst receipt = await account.execute(calls);\nconst transactionHash = receipt.transaction_hash;\n\n\u002F\u002F 2. Complete deployment (create collection in database)\n\u002F\u002F After transaction is confirmed, call complete-deploy MCP tool with payload under data\nconst completeResult = await mcp.callTool(\"starknet-complete-deploy\", {\n  data: {\n    hash: transactionHash,\n    gasless: false, \u002F\u002F Optional\n    hubId: null, \u002F\u002F Optional\n    activityId: null, \u002F\u002F Optional\n    whitelist_hubIDs: [], \u002F\u002F Optional\n    whitelist_userIDs: [], \u002F\u002F Optional\n    attributes: [\n      \u002F\u002F Optional\n      {\n        trait_type: \"Color\",\n        display_type: \"string\",\n        value: \"Blue\",\n      },\n    ],\n  },\n});\n\nconst collection = JSON.parse(completeResult.content[0].text); \u002F\u002F Extract collection data from MCP response\nconst collectionAddress = collection.contractAddress; \u002F\u002F Get collection address from response\n\n\u002F\u002F 3. Before minting: Approve payment token\nimport { parseUnits } from \"viem\";\n\nconst tokenDecimals = 18; \u002F\u002F STRK\u002FETH are 18; USDC is 6 (see token address section below)\nconst totalAmount = mintData.items\n  .reduce((sum, item) => {\n    const itemBaseUnits = parseUnits(item.price, tokenDecimals);\n    return sum + itemBaseUnits * BigInt(item.quantity);\n  }, 0n)\n  .toString();\n\nconst tokenAddress = {\n  STRK: \"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d\",\n  ETH: \"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7\",\n  \u002F\u002F USDC addresses differ by network. Prefer the addresses used by the backend configuration:\n  \u002F\u002F - Sepolia (native USDC): 0x0512feAc6339Ff7889822cb5aA2a86C848e9D392bB0E3E237C008674feeD8343\n  \u002F\u002F - Mainnet (native USDC): 0x033068F6539f8e6e6b131e6B2B814e6c34A5224bC66947c47DaB9dFeE93b35fb\n  USDC: \"0x0512feAc6339Ff7889822cb5aA2a86C848e9D392bB0E3E237C008674feeD8343\",\n}[paymentToken]; \u002F\u002F Use the same payment token as in collection\n\nconst approveCall = {\n  contractAddress: tokenAddress,\n  entrypoint: \"approve\",\n  calldata: [collection_address, totalAmount, \"0\"],\n};\n\n\u002F\u002F Execute approve transaction\nawait account.execute([approveCall]);\n\n\u002F\u002F 4. Mint NFT using MCP tool\nconst mintData = {\n  collection_address: collectionAddress, \u002F\u002F From complete-deploy response\n  items: [\n    {\n      receiver: \"0x...\", \u002F\u002F Receiver wallet address\n      name: \"NFT One\",\n      description: \"Description of the NFT\",\n      price: \"0.2\", \u002F\u002F Human amount string\n      quantity: 1,\n      image: \"https:\u002F\u002Fexample.com\u002Fimage.png\", \u002F\u002F Optional\n      externalUrl: \"https:\u002F\u002Fexample.com\u002Fexternal-link.html\", \u002F\u002F Optional\n      animation_url: \"https:\u002F\u002Fexample.com\u002Fanimation.mp4\", \u002F\u002F Optional\n      attributes: [\n        \u002F\u002F Optional\n        {\n          trait_type: \"Rarity\",\n          value: \"Common\",\n        },\n      ],\n    },\n  ],\n};\n\nconst mintResult = await mcp.callTool(\"starknet-mint-nft\", {\n  data: mintData,\n});\n\nconst { calls } = JSON.parse(mintResult.content[0].text); \u002F\u002F Extract calls from MCP response\n\n\u002F\u002F On frontend: Execute mint transaction\nconst mintReceipt = await account.execute(calls);\nconst mintTransactionHash = mintReceipt.transaction_hash;\n\n\u002F\u002F 5. Complete mint (parse receipt and create NFT records in database)\n\u002F\u002F After transaction is confirmed, call complete-mint MCP tool\nconst completeMintResult = await mcp.callTool(\"starknet-complete-mint\", {\n  data: {\n    hash: mintTransactionHash,\n  },\n});\n\nconst nfts = JSON.parse(completeMintResult.content[0].text); \u002F\u002F Extract NFT records from MCP response\nconsole.log(`Successfully created ${nfts.length} NFT records`);\n","js",[351,2306,2307,2312,2323,2338,2353,2368,2383,2395,2406,2417,2428,2442,2460,2475,2492,2496,2500,2533,2545,2555,2559,2600,2604,2609,2631,2650,2654,2660,2666,2696,2705,2717,2732,2744,2756,2771,2785,2794,2800,2805,2821,2837,2853,2859,2867,2872,2881,2886,2922,2945,2950,2956,2983,2988,3006,3024,3053,3086,3119,3134,3147,3152,3164,3180,3196,3202,3208,3214,3231,3244,3249,3260,3272,3287,3314,3319,3324,3330,3345,3350,3356,3368,3383,3392,3397,3415,3431,3447,3466,3477,3496,3515,3534,3544,3550,3555,3571,3587,3593,3601,3606,3613,3618,3623,3653,3664,3673,3678,3717,3722,3728,3750,3769,3774,3780,3786,3816,3825,3837,3842,3851,3856,3892],{"__ignoreMap":438},[487,2308,2309],{"class":489,"line":490},[487,2310,2311],{"class":514},"\u002F\u002F 1. Deploy collection using MCP tool\n",[487,2313,2314,2316,2319,2321],{"class":489,"line":497},[487,2315,1230],{"class":1229},[487,2317,2318],{"class":507}," collectionData ",[487,2320,1236],{"class":493},[487,2322,1239],{"class":493},[487,2324,2325,2327,2329,2331,2334,2336],{"class":489,"line":518},[487,2326,501],{"class":777},[487,2328,504],{"class":493},[487,2330,634],{"class":493},[487,2332,2333],{"class":637},"My NFT Collection",[487,2335,641],{"class":493},[487,2337,1033],{"class":493},[487,2339,2340,2342,2344,2346,2349,2351],{"class":489,"line":533},[487,2341,521],{"class":777},[487,2343,504],{"class":493},[487,2345,634],{"class":493},[487,2347,2348],{"class":637},"MNFT",[487,2350,641],{"class":493},[487,2352,1033],{"class":493},[487,2354,2355,2357,2359,2361,2364,2366],{"class":489,"line":549},[487,2356,536],{"class":777},[487,2358,504],{"class":493},[487,2360,634],{"class":493},[487,2362,2363],{"class":637},"A unique collection",[487,2365,641],{"class":493},[487,2367,1033],{"class":493},[487,2369,2370,2372,2374,2378,2380],{"class":489,"line":565},[487,2371,552],{"class":777},[487,2373,504],{"class":493},[487,2375,2377],{"class":2376},"sbssI"," 5",[487,2379,511],{"class":493},[487,2381,2382],{"class":514}," \u002F\u002F 5% royalty\n",[487,2384,2385,2387,2389,2393],{"class":489,"line":581},[487,2386,568],{"class":777},[487,2388,504],{"class":493},[487,2390,2392],{"class":2391},"sfNiH"," true",[487,2394,1033],{"class":493},[487,2396,2397,2399,2401,2404],{"class":489,"line":596},[487,2398,584],{"class":777},[487,2400,504],{"class":493},[487,2402,2403],{"class":2376}," 10000",[487,2405,1033],{"class":493},[487,2407,2408,2410,2412,2415],{"class":489,"line":611},[487,2409,599],{"class":777},[487,2411,504],{"class":493},[487,2413,2414],{"class":2376}," 2",[487,2416,1033],{"class":493},[487,2418,2419,2421,2423,2426],{"class":489,"line":626},[487,2420,614],{"class":777},[487,2422,504],{"class":493},[487,2424,2425],{"class":2376}," 1",[487,2427,1033],{"class":493},[487,2429,2430,2432,2434,2436,2438,2440],{"class":489,"line":668},[487,2431,629],{"class":777},[487,2433,504],{"class":493},[487,2435,634],{"class":493},[487,2437,658],{"class":637},[487,2439,641],{"class":493},[487,2441,1033],{"class":493},[487,2443,2444,2446,2448,2450,2453,2455,2457],{"class":489,"line":683},[487,2445,671],{"class":777},[487,2447,504],{"class":493},[487,2449,634],{"class":493},[487,2451,2452],{"class":637},"0x...",[487,2454,641],{"class":493},[487,2456,511],{"class":493},[487,2458,2459],{"class":514}," \u002F\u002F Your Starknet wallet address\n",[487,2461,2462,2464,2466,2468,2471,2473],{"class":489,"line":702},[487,2463,686],{"class":777},[487,2465,504],{"class":493},[487,2467,634],{"class":493},[487,2469,2470],{"class":637},"https:\u002F\u002Fexample.com",[487,2472,641],{"class":493},[487,2474,1033],{"class":493},[487,2476,2477,2479,2481,2483,2485,2487,2489],{"class":489,"line":717},[487,2478,705],{"class":777},[487,2480,504],{"class":493},[487,2482,634],{"class":493},[487,2484,1460],{"class":637},[487,2486,641],{"class":493},[487,2488,511],{"class":493},[487,2490,2491],{"class":514}," \u002F\u002F Optional\n",[487,2493,2494],{"class":489,"line":744},[487,2495,1362],{"class":493},[487,2497,2498],{"class":489,"line":1135},[487,2499,1483],{"emptyLinePlaceholder":1482},[487,2501,2502,2504,2507,2509,2512,2515,2517,2520,2523,2525,2527,2529,2531],{"class":489,"line":1713},[487,2503,1230],{"class":1229},[487,2505,2506],{"class":507}," deployResult ",[487,2508,1236],{"class":493},[487,2510,2511],{"class":1488}," await",[487,2513,2514],{"class":507}," mcp",[487,2516,366],{"class":493},[487,2518,2519],{"class":1497},"callTool",[487,2521,2522],{"class":507},"(",[487,2524,641],{"class":493},[487,2526,467],{"class":637},[487,2528,641],{"class":493},[487,2530,511],{"class":493},[487,2532,1239],{"class":493},[487,2534,2535,2538,2540,2543],{"class":489,"line":1719},[487,2536,2537],{"class":777},"  data",[487,2539,504],{"class":493},[487,2541,2542],{"class":507}," collectionData",[487,2544,1033],{"class":493},[487,2546,2547,2550,2553],{"class":489,"line":1725},[487,2548,2549],{"class":493},"}",[487,2551,2552],{"class":507},")",[487,2554,1504],{"class":493},[487,2556,2557],{"class":489,"line":1730},[487,2558,1483],{"emptyLinePlaceholder":1482},[487,2560,2561,2563,2566,2568,2571,2573,2576,2579,2581,2584,2586,2589,2591,2594,2597],{"class":489,"line":1737},[487,2562,1230],{"class":1229},[487,2564,2565],{"class":507}," calls ",[487,2567,1236],{"class":493},[487,2569,2570],{"class":507}," JSON",[487,2572,366],{"class":493},[487,2574,2575],{"class":1497},"parse",[487,2577,2578],{"class":507},"(deployResult",[487,2580,366],{"class":493},[487,2582,2583],{"class":507},"content[",[487,2585,1460],{"class":2376},[487,2587,2588],{"class":507},"]",[487,2590,366],{"class":493},[487,2592,2593],{"class":507},"text)",[487,2595,2596],{"class":493},";",[487,2598,2599],{"class":514}," \u002F\u002F Extract calls array from MCP response\n",[487,2601,2602],{"class":489,"line":1760},[487,2603,1483],{"emptyLinePlaceholder":1482},[487,2605,2606],{"class":489,"line":2193},[487,2607,2608],{"class":514},"\u002F\u002F On frontend: Execute transaction\n",[487,2610,2611,2613,2616,2618,2620,2622,2624,2626,2629],{"class":489,"line":2207},[487,2612,1230],{"class":1229},[487,2614,2615],{"class":507}," receipt ",[487,2617,1236],{"class":493},[487,2619,2511],{"class":1488},[487,2621,1492],{"class":507},[487,2623,366],{"class":493},[487,2625,1498],{"class":1497},[487,2627,2628],{"class":507},"(calls)",[487,2630,1504],{"class":493},[487,2632,2633,2635,2638,2640,2643,2645,2648],{"class":489,"line":2217},[487,2634,1230],{"class":1229},[487,2636,2637],{"class":507}," transactionHash ",[487,2639,1236],{"class":493},[487,2641,2642],{"class":507}," receipt",[487,2644,366],{"class":493},[487,2646,2647],{"class":507},"transaction_hash",[487,2649,1504],{"class":493},[487,2651,2652],{"class":489,"line":2223},[487,2653,1483],{"emptyLinePlaceholder":1482},[487,2655,2657],{"class":489,"line":2656},27,[487,2658,2659],{"class":514},"\u002F\u002F 2. Complete deployment (create collection in database)\n",[487,2661,2663],{"class":489,"line":2662},28,[487,2664,2665],{"class":514},"\u002F\u002F After transaction is confirmed, call complete-deploy MCP tool with payload under data\n",[487,2667,2669,2671,2674,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694],{"class":489,"line":2668},29,[487,2670,1230],{"class":1229},[487,2672,2673],{"class":507}," completeResult ",[487,2675,1236],{"class":493},[487,2677,2511],{"class":1488},[487,2679,2514],{"class":507},[487,2681,366],{"class":493},[487,2683,2519],{"class":1497},[487,2685,2522],{"class":507},[487,2687,641],{"class":493},[487,2689,862],{"class":637},[487,2691,641],{"class":493},[487,2693,511],{"class":493},[487,2695,1239],{"class":493},[487,2697,2699,2701,2703],{"class":489,"line":2698},30,[487,2700,2537],{"class":777},[487,2702,504],{"class":493},[487,2704,1239],{"class":493},[487,2706,2708,2710,2712,2715],{"class":489,"line":2707},31,[487,2709,1978],{"class":777},[487,2711,504],{"class":493},[487,2713,2714],{"class":507}," transactionHash",[487,2716,1033],{"class":493},[487,2718,2720,2723,2725,2728,2730],{"class":489,"line":2719},32,[487,2721,2722],{"class":777},"    gasless",[487,2724,504],{"class":493},[487,2726,2727],{"class":2391}," false",[487,2729,511],{"class":493},[487,2731,2491],{"class":514},[487,2733,2735,2738,2740,2742],{"class":489,"line":2734},33,[487,2736,2737],{"class":777},"    hubId",[487,2739,504],{"class":493},[487,2741,696],{"class":493},[487,2743,2491],{"class":514},[487,2745,2747,2750,2752,2754],{"class":489,"line":2746},34,[487,2748,2749],{"class":777},"    activityId",[487,2751,504],{"class":493},[487,2753,696],{"class":493},[487,2755,2491],{"class":514},[487,2757,2759,2762,2764,2767,2769],{"class":489,"line":2758},35,[487,2760,2761],{"class":777},"    whitelist_hubIDs",[487,2763,504],{"class":493},[487,2765,2766],{"class":507}," []",[487,2768,511],{"class":493},[487,2770,2491],{"class":514},[487,2772,2774,2777,2779,2781,2783],{"class":489,"line":2773},36,[487,2775,2776],{"class":777},"    whitelist_userIDs",[487,2778,504],{"class":493},[487,2780,2766],{"class":507},[487,2782,511],{"class":493},[487,2784,2491],{"class":514},[487,2786,2788,2790,2792],{"class":489,"line":2787},37,[487,2789,2077],{"class":777},[487,2791,504],{"class":493},[487,2793,778],{"class":507},[487,2795,2797],{"class":489,"line":2796},38,[487,2798,2799],{"class":514},"      \u002F\u002F Optional\n",[487,2801,2803],{"class":489,"line":2802},39,[487,2804,2086],{"class":493},[487,2806,2808,2810,2812,2814,2817,2819],{"class":489,"line":2807},40,[487,2809,2091],{"class":777},[487,2811,504],{"class":493},[487,2813,634],{"class":493},[487,2815,2816],{"class":637},"Color",[487,2818,641],{"class":493},[487,2820,1033],{"class":493},[487,2822,2824,2827,2829,2831,2833,2835],{"class":489,"line":2823},41,[487,2825,2826],{"class":777},"        display_type",[487,2828,504],{"class":493},[487,2830,634],{"class":493},[487,2832,1045],{"class":637},[487,2834,641],{"class":493},[487,2836,1033],{"class":493},[487,2838,2840,2842,2844,2846,2849,2851],{"class":489,"line":2839},42,[487,2841,2149],{"class":777},[487,2843,504],{"class":493},[487,2845,634],{"class":493},[487,2847,2848],{"class":637},"Blue",[487,2850,641],{"class":493},[487,2852,1033],{"class":493},[487,2854,2856],{"class":489,"line":2855},43,[487,2857,2858],{"class":493},"      },\n",[487,2860,2862,2865],{"class":489,"line":2861},44,[487,2863,2864],{"class":507},"    ]",[487,2866,1033],{"class":493},[487,2868,2870],{"class":489,"line":2869},45,[487,2871,1301],{"class":493},[487,2873,2875,2877,2879],{"class":489,"line":2874},46,[487,2876,2549],{"class":493},[487,2878,2552],{"class":507},[487,2880,1504],{"class":493},[487,2882,2884],{"class":489,"line":2883},47,[487,2885,1483],{"emptyLinePlaceholder":1482},[487,2887,2889,2891,2894,2896,2898,2900,2902,2905,2907,2909,2911,2913,2915,2917,2919],{"class":489,"line":2888},48,[487,2890,1230],{"class":1229},[487,2892,2893],{"class":507}," collection ",[487,2895,1236],{"class":493},[487,2897,2570],{"class":507},[487,2899,366],{"class":493},[487,2901,2575],{"class":1497},[487,2903,2904],{"class":507},"(completeResult",[487,2906,366],{"class":493},[487,2908,2583],{"class":507},[487,2910,1460],{"class":2376},[487,2912,2588],{"class":507},[487,2914,366],{"class":493},[487,2916,2593],{"class":507},[487,2918,2596],{"class":493},[487,2920,2921],{"class":514}," \u002F\u002F Extract collection data from MCP response\n",[487,2923,2925,2927,2930,2932,2935,2937,2940,2942],{"class":489,"line":2924},49,[487,2926,1230],{"class":1229},[487,2928,2929],{"class":507}," collectionAddress ",[487,2931,1236],{"class":493},[487,2933,2934],{"class":507}," collection",[487,2936,366],{"class":493},[487,2938,2939],{"class":507},"contractAddress",[487,2941,2596],{"class":493},[487,2943,2944],{"class":514}," \u002F\u002F Get collection address from response\n",[487,2946,2948],{"class":489,"line":2947},50,[487,2949,1483],{"emptyLinePlaceholder":1482},[487,2951,2953],{"class":489,"line":2952},51,[487,2954,2955],{"class":514},"\u002F\u002F 3. Before minting: Approve payment token\n",[487,2957,2959,2962,2965,2968,2971,2974,2976,2979,2981],{"class":489,"line":2958},52,[487,2960,2961],{"class":1488},"import",[487,2963,2964],{"class":493}," {",[487,2966,2967],{"class":507}," parseUnits",[487,2969,2970],{"class":493}," }",[487,2972,2973],{"class":1488}," from",[487,2975,634],{"class":493},[487,2977,2978],{"class":637},"viem",[487,2980,641],{"class":493},[487,2982,1504],{"class":493},[487,2984,2986],{"class":489,"line":2985},53,[487,2987,1483],{"emptyLinePlaceholder":1482},[487,2989,2991,2993,2996,2998,3001,3003],{"class":489,"line":2990},54,[487,2992,1230],{"class":1229},[487,2994,2995],{"class":507}," tokenDecimals ",[487,2997,1236],{"class":493},[487,2999,3000],{"class":2376}," 18",[487,3002,2596],{"class":493},[487,3004,3005],{"class":514}," \u002F\u002F STRK\u002FETH are 18; USDC is 6 (see token address section below)\n",[487,3007,3009,3011,3014,3016,3019,3021],{"class":489,"line":3008},55,[487,3010,1230],{"class":1229},[487,3012,3013],{"class":507}," totalAmount ",[487,3015,1236],{"class":493},[487,3017,3018],{"class":507}," mintData",[487,3020,366],{"class":493},[487,3022,3023],{"class":507},"items\n",[487,3025,3027,3030,3033,3035,3037,3041,3043,3046,3048,3051],{"class":489,"line":3026},56,[487,3028,3029],{"class":493},"  .",[487,3031,3032],{"class":1497},"reduce",[487,3034,2522],{"class":507},[487,3036,2522],{"class":493},[487,3038,3040],{"class":3039},"sHdIc","sum",[487,3042,511],{"class":493},[487,3044,3045],{"class":3039}," item",[487,3047,2552],{"class":493},[487,3049,3050],{"class":1229}," =>",[487,3052,1239],{"class":493},[487,3054,3056,3059,3062,3065,3067,3069,3072,3074,3077,3079,3082,3084],{"class":489,"line":3055},57,[487,3057,3058],{"class":1229},"    const",[487,3060,3061],{"class":507}," itemBaseUnits",[487,3063,3064],{"class":493}," =",[487,3066,2967],{"class":1497},[487,3068,2522],{"class":777},[487,3070,3071],{"class":507},"item",[487,3073,366],{"class":493},[487,3075,3076],{"class":507},"price",[487,3078,511],{"class":493},[487,3080,3081],{"class":507}," tokenDecimals",[487,3083,2552],{"class":777},[487,3085,1504],{"class":493},[487,3087,3089,3092,3095,3098,3100,3103,3106,3108,3110,3112,3115,3117],{"class":489,"line":3088},58,[487,3090,3091],{"class":1488},"    return",[487,3093,3094],{"class":507}," sum",[487,3096,3097],{"class":493}," +",[487,3099,3061],{"class":507},[487,3101,3102],{"class":493}," *",[487,3104,3105],{"class":1497}," BigInt",[487,3107,2522],{"class":777},[487,3109,3071],{"class":507},[487,3111,366],{"class":493},[487,3113,3114],{"class":507},"quantity",[487,3116,2552],{"class":777},[487,3118,1504],{"class":493},[487,3120,3122,3125,3128,3131],{"class":489,"line":3121},59,[487,3123,3124],{"class":493},"  },",[487,3126,3127],{"class":2376}," 0",[487,3129,3130],{"class":1229},"n",[487,3132,3133],{"class":507},")\n",[487,3135,3137,3139,3142,3145],{"class":489,"line":3136},60,[487,3138,3029],{"class":493},[487,3140,3141],{"class":1497},"toString",[487,3143,3144],{"class":507},"()",[487,3146,1504],{"class":493},[487,3148,3150],{"class":489,"line":3149},61,[487,3151,1483],{"emptyLinePlaceholder":1482},[487,3153,3155,3157,3160,3162],{"class":489,"line":3154},62,[487,3156,1230],{"class":1229},[487,3158,3159],{"class":507}," tokenAddress ",[487,3161,1236],{"class":493},[487,3163,1239],{"class":493},[487,3165,3167,3170,3172,3174,3176,3178],{"class":489,"line":3166},63,[487,3168,3169],{"class":777},"  STRK",[487,3171,504],{"class":493},[487,3173,634],{"class":493},[487,3175,1260],{"class":637},[487,3177,641],{"class":493},[487,3179,1033],{"class":493},[487,3181,3183,3186,3188,3190,3192,3194],{"class":489,"line":3182},64,[487,3184,3185],{"class":777},"  ETH",[487,3187,504],{"class":493},[487,3189,634],{"class":493},[487,3191,1276],{"class":637},[487,3193,641],{"class":493},[487,3195,1033],{"class":493},[487,3197,3199],{"class":489,"line":3198},65,[487,3200,3201],{"class":514},"  \u002F\u002F USDC addresses differ by network. Prefer the addresses used by the backend configuration:\n",[487,3203,3205],{"class":489,"line":3204},66,[487,3206,3207],{"class":514},"  \u002F\u002F - Sepolia (native USDC): 0x0512feAc6339Ff7889822cb5aA2a86C848e9D392bB0E3E237C008674feeD8343\n",[487,3209,3211],{"class":489,"line":3210},67,[487,3212,3213],{"class":514},"  \u002F\u002F - Mainnet (native USDC): 0x033068F6539f8e6e6b131e6B2B814e6c34A5224bC66947c47DaB9dFeE93b35fb\n",[487,3215,3217,3220,3222,3224,3227,3229],{"class":489,"line":3216},68,[487,3218,3219],{"class":777},"  USDC",[487,3221,504],{"class":493},[487,3223,634],{"class":493},[487,3225,3226],{"class":637},"0x0512feAc6339Ff7889822cb5aA2a86C848e9D392bB0E3E237C008674feeD8343",[487,3228,641],{"class":493},[487,3230,1033],{"class":493},[487,3232,3234,3236,3239,3241],{"class":489,"line":3233},69,[487,3235,2549],{"class":493},[487,3237,3238],{"class":507},"[paymentToken]",[487,3240,2596],{"class":493},[487,3242,3243],{"class":514}," \u002F\u002F Use the same payment token as in collection\n",[487,3245,3247],{"class":489,"line":3246},70,[487,3248,1483],{"emptyLinePlaceholder":1482},[487,3250,3252,3254,3256,3258],{"class":489,"line":3251},71,[487,3253,1230],{"class":1229},[487,3255,1384],{"class":507},[487,3257,1236],{"class":493},[487,3259,1239],{"class":493},[487,3261,3263,3265,3267,3270],{"class":489,"line":3262},72,[487,3264,1171],{"class":777},[487,3266,504],{"class":493},[487,3268,3269],{"class":507}," tokenAddress",[487,3271,1033],{"class":493},[487,3273,3275,3277,3279,3281,3283,3285],{"class":489,"line":3274},73,[487,3276,1408],{"class":777},[487,3278,504],{"class":493},[487,3280,634],{"class":493},[487,3282,1415],{"class":637},[487,3284,641],{"class":493},[487,3286,1033],{"class":493},[487,3288,3290,3292,3294,3297,3299,3302,3304,3306,3308,3310,3312],{"class":489,"line":3289},74,[487,3291,1424],{"class":777},[487,3293,504],{"class":493},[487,3295,3296],{"class":507}," [collection_address",[487,3298,511],{"class":493},[487,3300,3301],{"class":507}," totalAmount",[487,3303,511],{"class":493},[487,3305,634],{"class":493},[487,3307,1460],{"class":637},[487,3309,641],{"class":493},[487,3311,2588],{"class":507},[487,3313,1033],{"class":493},[487,3315,3317],{"class":489,"line":3316},75,[487,3318,1362],{"class":493},[487,3320,3322],{"class":489,"line":3321},76,[487,3323,1483],{"emptyLinePlaceholder":1482},[487,3325,3327],{"class":489,"line":3326},77,[487,3328,3329],{"class":514},"\u002F\u002F Execute approve transaction\n",[487,3331,3333,3335,3337,3339,3341,3343],{"class":489,"line":3332},78,[487,3334,1489],{"class":1488},[487,3336,1492],{"class":507},[487,3338,366],{"class":493},[487,3340,1498],{"class":1497},[487,3342,1501],{"class":507},[487,3344,1504],{"class":493},[487,3346,3348],{"class":489,"line":3347},79,[487,3349,1483],{"emptyLinePlaceholder":1482},[487,3351,3353],{"class":489,"line":3352},80,[487,3354,3355],{"class":514},"\u002F\u002F 4. Mint NFT using MCP tool\n",[487,3357,3359,3361,3364,3366],{"class":489,"line":3358},81,[487,3360,1230],{"class":1229},[487,3362,3363],{"class":507}," mintData ",[487,3365,1236],{"class":493},[487,3367,1239],{"class":493},[487,3369,3371,3373,3375,3378,3380],{"class":489,"line":3370},82,[487,3372,1538],{"class":777},[487,3374,504],{"class":493},[487,3376,3377],{"class":507}," collectionAddress",[487,3379,511],{"class":493},[487,3381,3382],{"class":514}," \u002F\u002F From complete-deploy response\n",[487,3384,3386,3388,3390],{"class":489,"line":3385},83,[487,3387,1552],{"class":777},[487,3389,504],{"class":493},[487,3391,778],{"class":507},[487,3393,3395],{"class":489,"line":3394},84,[487,3396,783],{"class":493},[487,3398,3400,3402,3404,3406,3408,3410,3412],{"class":489,"line":3399},85,[487,3401,1565],{"class":777},[487,3403,504],{"class":493},[487,3405,634],{"class":493},[487,3407,2452],{"class":637},[487,3409,641],{"class":493},[487,3411,511],{"class":493},[487,3413,3414],{"class":514}," \u002F\u002F Receiver wallet address\n",[487,3416,3418,3420,3422,3424,3427,3429],{"class":489,"line":3417},86,[487,3419,1579],{"class":777},[487,3421,504],{"class":493},[487,3423,634],{"class":493},[487,3425,3426],{"class":637},"NFT One",[487,3428,641],{"class":493},[487,3430,1033],{"class":493},[487,3432,3434,3436,3438,3440,3443,3445],{"class":489,"line":3433},87,[487,3435,1593],{"class":777},[487,3437,504],{"class":493},[487,3439,634],{"class":493},[487,3441,3442],{"class":637},"Description of the NFT",[487,3444,641],{"class":493},[487,3446,1033],{"class":493},[487,3448,3450,3452,3454,3456,3459,3461,3463],{"class":489,"line":3449},88,[487,3451,1607],{"class":777},[487,3453,504],{"class":493},[487,3455,634],{"class":493},[487,3457,3458],{"class":637},"0.2",[487,3460,641],{"class":493},[487,3462,511],{"class":493},[487,3464,3465],{"class":514}," \u002F\u002F Human amount string\n",[487,3467,3469,3471,3473,3475],{"class":489,"line":3468},89,[487,3470,1621],{"class":777},[487,3472,504],{"class":493},[487,3474,2425],{"class":2376},[487,3476,1033],{"class":493},[487,3478,3480,3483,3485,3487,3490,3492,3494],{"class":489,"line":3479},90,[487,3481,3482],{"class":777},"      image",[487,3484,504],{"class":493},[487,3486,634],{"class":493},[487,3488,3489],{"class":637},"https:\u002F\u002Fexample.com\u002Fimage.png",[487,3491,641],{"class":493},[487,3493,511],{"class":493},[487,3495,2491],{"class":514},[487,3497,3499,3502,3504,3506,3509,3511,3513],{"class":489,"line":3498},91,[487,3500,3501],{"class":777},"      externalUrl",[487,3503,504],{"class":493},[487,3505,634],{"class":493},[487,3507,3508],{"class":637},"https:\u002F\u002Fexample.com\u002Fexternal-link.html",[487,3510,641],{"class":493},[487,3512,511],{"class":493},[487,3514,2491],{"class":514},[487,3516,3518,3521,3523,3525,3528,3530,3532],{"class":489,"line":3517},92,[487,3519,3520],{"class":777},"      animation_url",[487,3522,504],{"class":493},[487,3524,634],{"class":493},[487,3526,3527],{"class":637},"https:\u002F\u002Fexample.com\u002Fanimation.mp4",[487,3529,641],{"class":493},[487,3531,511],{"class":493},[487,3533,2491],{"class":514},[487,3535,3537,3540,3542],{"class":489,"line":3536},93,[487,3538,3539],{"class":777},"      attributes",[487,3541,504],{"class":493},[487,3543,778],{"class":507},[487,3545,3547],{"class":489,"line":3546},94,[487,3548,3549],{"class":514},"        \u002F\u002F Optional\n",[487,3551,3553],{"class":489,"line":3552},95,[487,3554,1690],{"class":493},[487,3556,3558,3560,3562,3564,3567,3569],{"class":489,"line":3557},96,[487,3559,1695],{"class":777},[487,3561,504],{"class":493},[487,3563,634],{"class":493},[487,3565,3566],{"class":637},"Rarity",[487,3568,641],{"class":493},[487,3570,1033],{"class":493},[487,3572,3574,3576,3578,3580,3583,3585],{"class":489,"line":3573},97,[487,3575,1706],{"class":777},[487,3577,504],{"class":493},[487,3579,634],{"class":493},[487,3581,3582],{"class":637},"Common",[487,3584,641],{"class":493},[487,3586,1033],{"class":493},[487,3588,3590],{"class":489,"line":3589},98,[487,3591,3592],{"class":493},"        },\n",[487,3594,3596,3599],{"class":489,"line":3595},99,[487,3597,3598],{"class":507},"      ]",[487,3600,1033],{"class":493},[487,3602,3604],{"class":489,"line":3603},100,[487,3605,2190],{"class":493},[487,3607,3609,3611],{"class":489,"line":3608},101,[487,3610,1107],{"class":507},[487,3612,1033],{"class":493},[487,3614,3616],{"class":489,"line":3615},102,[487,3617,1362],{"class":493},[487,3619,3621],{"class":489,"line":3620},103,[487,3622,1483],{"emptyLinePlaceholder":1482},[487,3624,3626,3628,3631,3633,3635,3637,3639,3641,3643,3645,3647,3649,3651],{"class":489,"line":3625},104,[487,3627,1230],{"class":1229},[487,3629,3630],{"class":507}," mintResult ",[487,3632,1236],{"class":493},[487,3634,2511],{"class":1488},[487,3636,2514],{"class":507},[487,3638,366],{"class":493},[487,3640,2519],{"class":1497},[487,3642,2522],{"class":507},[487,3644,641],{"class":493},[487,3646,1515],{"class":637},[487,3648,641],{"class":493},[487,3650,511],{"class":493},[487,3652,1239],{"class":493},[487,3654,3656,3658,3660,3662],{"class":489,"line":3655},105,[487,3657,2537],{"class":777},[487,3659,504],{"class":493},[487,3661,3018],{"class":507},[487,3663,1033],{"class":493},[487,3665,3667,3669,3671],{"class":489,"line":3666},106,[487,3668,2549],{"class":493},[487,3670,2552],{"class":507},[487,3672,1504],{"class":493},[487,3674,3676],{"class":489,"line":3675},107,[487,3677,1483],{"emptyLinePlaceholder":1482},[487,3679,3681,3683,3685,3687,3689,3691,3693,3695,3697,3700,3702,3704,3706,3708,3710,3712,3714],{"class":489,"line":3680},108,[487,3682,1230],{"class":1229},[487,3684,2964],{"class":493},[487,3686,2565],{"class":507},[487,3688,2549],{"class":493},[487,3690,3064],{"class":493},[487,3692,2570],{"class":507},[487,3694,366],{"class":493},[487,3696,2575],{"class":1497},[487,3698,3699],{"class":507},"(mintResult",[487,3701,366],{"class":493},[487,3703,2583],{"class":507},[487,3705,1460],{"class":2376},[487,3707,2588],{"class":507},[487,3709,366],{"class":493},[487,3711,2593],{"class":507},[487,3713,2596],{"class":493},[487,3715,3716],{"class":514}," \u002F\u002F Extract calls from MCP response\n",[487,3718,3720],{"class":489,"line":3719},109,[487,3721,1483],{"emptyLinePlaceholder":1482},[487,3723,3725],{"class":489,"line":3724},110,[487,3726,3727],{"class":514},"\u002F\u002F On frontend: Execute mint transaction\n",[487,3729,3731,3733,3736,3738,3740,3742,3744,3746,3748],{"class":489,"line":3730},111,[487,3732,1230],{"class":1229},[487,3734,3735],{"class":507}," mintReceipt ",[487,3737,1236],{"class":493},[487,3739,2511],{"class":1488},[487,3741,1492],{"class":507},[487,3743,366],{"class":493},[487,3745,1498],{"class":1497},[487,3747,2628],{"class":507},[487,3749,1504],{"class":493},[487,3751,3753,3755,3758,3760,3763,3765,3767],{"class":489,"line":3752},112,[487,3754,1230],{"class":1229},[487,3756,3757],{"class":507}," mintTransactionHash ",[487,3759,1236],{"class":493},[487,3761,3762],{"class":507}," mintReceipt",[487,3764,366],{"class":493},[487,3766,2647],{"class":507},[487,3768,1504],{"class":493},[487,3770,3772],{"class":489,"line":3771},113,[487,3773,1483],{"emptyLinePlaceholder":1482},[487,3775,3777],{"class":489,"line":3776},114,[487,3778,3779],{"class":514},"\u002F\u002F 5. Complete mint (parse receipt and create NFT records in database)\n",[487,3781,3783],{"class":489,"line":3782},115,[487,3784,3785],{"class":514},"\u002F\u002F After transaction is confirmed, call complete-mint MCP tool\n",[487,3787,3789,3791,3794,3796,3798,3800,3802,3804,3806,3808,3810,3812,3814],{"class":489,"line":3788},116,[487,3790,1230],{"class":1229},[487,3792,3793],{"class":507}," completeMintResult ",[487,3795,1236],{"class":493},[487,3797,2511],{"class":1488},[487,3799,2514],{"class":507},[487,3801,366],{"class":493},[487,3803,2519],{"class":1497},[487,3805,2522],{"class":507},[487,3807,641],{"class":493},[487,3809,1840],{"class":637},[487,3811,641],{"class":493},[487,3813,511],{"class":493},[487,3815,1239],{"class":493},[487,3817,3819,3821,3823],{"class":489,"line":3818},117,[487,3820,2537],{"class":777},[487,3822,504],{"class":493},[487,3824,1239],{"class":493},[487,3826,3828,3830,3832,3835],{"class":489,"line":3827},118,[487,3829,1978],{"class":777},[487,3831,504],{"class":493},[487,3833,3834],{"class":507}," mintTransactionHash",[487,3836,1033],{"class":493},[487,3838,3840],{"class":489,"line":3839},119,[487,3841,1301],{"class":493},[487,3843,3845,3847,3849],{"class":489,"line":3844},120,[487,3846,2549],{"class":493},[487,3848,2552],{"class":507},[487,3850,1504],{"class":493},[487,3852,3854],{"class":489,"line":3853},121,[487,3855,1483],{"emptyLinePlaceholder":1482},[487,3857,3859,3861,3864,3866,3868,3870,3872,3875,3877,3879,3881,3883,3885,3887,3889],{"class":489,"line":3858},122,[487,3860,1230],{"class":1229},[487,3862,3863],{"class":507}," nfts ",[487,3865,1236],{"class":493},[487,3867,2570],{"class":507},[487,3869,366],{"class":493},[487,3871,2575],{"class":1497},[487,3873,3874],{"class":507},"(completeMintResult",[487,3876,366],{"class":493},[487,3878,2583],{"class":507},[487,3880,1460],{"class":2376},[487,3882,2588],{"class":507},[487,3884,366],{"class":493},[487,3886,2593],{"class":507},[487,3888,2596],{"class":493},[487,3890,3891],{"class":514}," \u002F\u002F Extract NFT records from MCP response\n",[487,3893,3895,3898,3900,3903,3905,3908,3911,3914,3917,3919,3922,3924,3927,3929,3931],{"class":489,"line":3894},123,[487,3896,3897],{"class":507},"console",[487,3899,366],{"class":493},[487,3901,3902],{"class":1497},"log",[487,3904,2522],{"class":507},[487,3906,3907],{"class":493},"`",[487,3909,3910],{"class":637},"Successfully created ",[487,3912,3913],{"class":493},"${",[487,3915,3916],{"class":507},"nfts",[487,3918,366],{"class":493},[487,3920,3921],{"class":507},"length",[487,3923,2549],{"class":493},[487,3925,3926],{"class":637}," NFT records",[487,3928,3907],{"class":493},[487,3930,2552],{"class":507},[487,3932,1504],{"class":493},[322,3934,3936],{"id":3935},"errors","Errors",[326,3938,3939],{},"MCP tools return errors in the standard MCP error format when operations fail.",[3941,3942,3943],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":438,"searchDepth":497,"depth":497,"links":3945},[3946,3947,3948,3955,3956],{"id":324,"depth":497,"text":92},{"id":421,"depth":497,"text":422},{"id":441,"depth":497,"text":153,"children":3949},[3950,3951,3952,3953,3954],{"id":457,"depth":518,"text":458},{"id":869,"depth":518,"text":870},{"id":1189,"depth":518,"text":1190},{"id":1507,"depth":518,"text":1508},{"id":1844,"depth":518,"text":1845},{"id":2298,"depth":497,"text":2299},{"id":3935,"depth":497,"text":3936},"End-to-end NFT minting on Starknet using MCP tools.","md",null,{},{"title":60,"icon":63},{"title":317,"description":3957},"bCufjWNM15BTJ1N25PP4-N1lfJo1miP7DsKl99sO-uk",[3965,3967],{"title":56,"path":57,"stem":58,"description":3966,"icon":49,"children":-1},"End-to-end staking operations on EVM chains for LONG tokens, executed directly from the user's wallet.",{"title":65,"path":66,"stem":67,"description":3968,"icon":49,"children":-1},"End-to-end NFT minting on Sui using MCP tools.",1785598153146]