[{"data":1,"prerenderedAt":3579},["ShallowReactive",2],{"blog-crypto-whitepaper-checklist":3,"related-crypto-whitepaper-checklist":1054},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"author":11,"category":12,"tags":13,"keywords":18,"image":24,"readTime":25,"body":26,"_type":1048,"_id":1049,"_source":1050,"_file":1051,"_stem":1052,"_extension":1053},"/blog/crypto-whitepaper-checklist","blog",false,"","Crypto Whitepaper Checklist: What Exchanges, Investors and Launchpads Look For","A crypto whitepaper checklist for token teams: the sections, tables and disclosures exchanges, investors and launchpads expect, plus the red flags that get you passed over.","2026-10-28","Fibonacci Capital","Token Launches",[14,15,16,17],"whitepaper","token launch","tokenomics","checklist",[19,20,21,22,23],"crypto whitepaper checklist","how to write a crypto whitepaper","whitepaper vs litepaper","token whitepaper structure","whitepaper for exchange listing","/assets/images/blog/crypto-whitepaper-checklist.jpg","9 min read",{"type":27,"children":28,"toc":1026},"root",[29,37,51,58,63,170,175,181,186,193,249,254,260,318,323,329,378,383,389,438,443,449,489,502,508,557,562,568,608,613,619,659,664,670,719,724,730,770,783,789,838,843,849,854,903,909,992,998,1003,1009,1014],{"type":30,"tag":31,"props":32,"children":33},"element","p",{},[34],{"type":35,"value":36},"text","A crypto whitepaper checklist comes down to one question: can a stranger with money, a listing decision or a reputation at stake understand what you are building, what the token does, who gets how much and when, and what could go wrong? Exchanges, investors and launchpads each read your whitepaper with a different purpose, but they all hunt for the same thing, which is a document that is specific, internally consistent and honest about risk. This guide walks through what to include, why each reviewer cares, and which gaps get a project quietly passed over.",{"type":30,"tag":31,"props":38,"children":39},{},[40,42,49],{"type":35,"value":41},"It is written for teams preparing a token launch. If you are mainly after the numbers side, our ",{"type":30,"tag":43,"props":44,"children":46},"a",{"href":45},"/blog/tokenomics-design-guide",[47],{"type":35,"value":48},"tokenomics design guide",{"type":35,"value":50}," goes deeper on supply and incentive design. Here the focus is on how that work should be presented.",{"type":30,"tag":52,"props":53,"children":55},"h2",{"id":54},"whitepaper-vs-litepaper-vs-docs-site",[56],{"type":35,"value":57},"Whitepaper vs Litepaper vs Docs Site",{"type":30,"tag":31,"props":59,"children":60},{},[61],{"type":35,"value":62},"Before drafting, decide what each document is for. One file rarely serves investors and diligence teams equally well.",{"type":30,"tag":64,"props":65,"children":66},"table",{},[67,96],{"type":30,"tag":68,"props":69,"children":70},"thead",{},[71],{"type":30,"tag":72,"props":73,"children":74},"tr",{},[75,81,86,91],{"type":30,"tag":76,"props":77,"children":78},"th",{},[79],{"type":35,"value":80},"Format",{"type":30,"tag":76,"props":82,"children":83},{},[84],{"type":35,"value":85},"Length and tone",{"type":30,"tag":76,"props":87,"children":88},{},[89],{"type":35,"value":90},"Main audience",{"type":30,"tag":76,"props":92,"children":93},{},[94],{"type":35,"value":95},"Best used for",{"type":30,"tag":97,"props":98,"children":99},"tbody",{},[100,124,147],{"type":30,"tag":72,"props":101,"children":102},{},[103,109,114,119],{"type":30,"tag":104,"props":105,"children":106},"td",{},[107],{"type":35,"value":108},"Whitepaper",{"type":30,"tag":104,"props":110,"children":111},{},[112],{"type":35,"value":113},"Long, structured, formal",{"type":30,"tag":104,"props":115,"children":116},{},[117],{"type":35,"value":118},"Exchanges, launchpads, institutional investors, counsel",{"type":30,"tag":104,"props":120,"children":121},{},[122],{"type":35,"value":123},"Due diligence and the permanent record of the token's design",{"type":30,"tag":72,"props":125,"children":126},{},[127,132,137,142],{"type":30,"tag":104,"props":128,"children":129},{},[130],{"type":35,"value":131},"Litepaper",{"type":30,"tag":104,"props":133,"children":134},{},[135],{"type":35,"value":136},"Short, plain language",{"type":30,"tag":104,"props":138,"children":139},{},[140],{"type":35,"value":141},"Early community, retail, first-pass investor screening",{"type":30,"tag":104,"props":143,"children":144},{},[145],{"type":35,"value":146},"Explaining the idea quickly and linking out to detail",{"type":30,"tag":72,"props":148,"children":149},{},[150,155,160,165],{"type":30,"tag":104,"props":151,"children":152},{},[153],{"type":35,"value":154},"Docs site",{"type":30,"tag":104,"props":156,"children":157},{},[158],{"type":35,"value":159},"Modular, frequently updated",{"type":30,"tag":104,"props":161,"children":162},{},[163],{"type":35,"value":164},"Developers, integrators, power users",{"type":30,"tag":104,"props":166,"children":167},{},[168],{"type":35,"value":169},"Technical reference that changes as the product changes",{"type":30,"tag":31,"props":171,"children":172},{},[173],{"type":35,"value":174},"The whitepaper vs litepaper question is really about depth: the litepaper summarises, the whitepaper holds the detail, and the docs site covers anything that changes often. All three must agree, because a number that differs between them quickly loses a reviewer's trust.",{"type":30,"tag":52,"props":176,"children":178},{"id":177},"the-crypto-whitepaper-checklist",[179],{"type":35,"value":180},"The Crypto Whitepaper Checklist",{"type":30,"tag":31,"props":182,"children":183},{},[184],{"type":35,"value":185},"Each section below has checkbox items and a note on who cares most and why. Use it as a token whitepaper structure, then trim to fit your project.",{"type":30,"tag":187,"props":188,"children":190},"h3",{"id":189},"_1-problem-and-product",[191],{"type":35,"value":192},"1. Problem and product",{"type":30,"tag":194,"props":195,"children":198},"ul",{"className":196},[197],"contains-task-list",[199,213,222,231,240],{"type":30,"tag":200,"props":201,"children":204},"li",{"className":202},[203],"task-list-item",[205,211],{"type":30,"tag":206,"props":207,"children":210},"input",{"disabled":208,"type":209},true,"checkbox",[],{"type":35,"value":212}," A specific problem stated in a few sentences, with the user who has it",{"type":30,"tag":200,"props":214,"children":216},{"className":215},[203],[217,220],{"type":30,"tag":206,"props":218,"children":219},{"disabled":208,"type":209},[],{"type":35,"value":221}," What the product does today, separated clearly from what is planned",{"type":30,"tag":200,"props":223,"children":225},{"className":224},[203],[226,229],{"type":30,"tag":206,"props":227,"children":228},{"disabled":208,"type":209},[],{"type":35,"value":230}," Why a blockchain or token is needed here, not simply used because it is available",{"type":30,"tag":200,"props":232,"children":234},{"className":233},[203],[235,238],{"type":30,"tag":206,"props":236,"children":237},{"disabled":208,"type":209},[],{"type":35,"value":239}," How the product differs from existing alternatives, named honestly",{"type":30,"tag":200,"props":241,"children":243},{"className":242},[203],[244,247],{"type":30,"tag":206,"props":245,"children":246},{"disabled":208,"type":209},[],{"type":35,"value":248}," Current status: live, testnet or in development",{"type":30,"tag":31,"props":250,"children":251},{},[252],{"type":35,"value":253},"Investors care most here, because the whole case rests on a real problem. Reviewers at exchanges and launchpads use this section to judge whether a project is a product or only a token.",{"type":30,"tag":187,"props":255,"children":257},{"id":256},"_2-technical-architecture",[258],{"type":35,"value":259},"2. Technical architecture",{"type":30,"tag":194,"props":261,"children":263},{"className":262},[197],[264,273,282,291,300,309],{"type":30,"tag":200,"props":265,"children":267},{"className":266},[203],[268,271],{"type":30,"tag":206,"props":269,"children":270},{"disabled":208,"type":209},[],{"type":35,"value":272}," Chain choice and the reason for it",{"type":30,"tag":200,"props":274,"children":276},{"className":275},[203],[277,280],{"type":30,"tag":206,"props":278,"children":279},{"disabled":208,"type":209},[],{"type":35,"value":281}," Core components and how they interact, ideally with a diagram",{"type":30,"tag":200,"props":283,"children":285},{"className":284},[203],[286,289],{"type":30,"tag":206,"props":287,"children":288},{"disabled":208,"type":209},[],{"type":35,"value":290}," Smart contract overview, including which contracts hold funds or control the token",{"type":30,"tag":200,"props":292,"children":294},{"className":293},[203],[295,298],{"type":30,"tag":206,"props":296,"children":297},{"disabled":208,"type":209},[],{"type":35,"value":299}," Admin keys, minting rights, upgradeability and who holds them",{"type":30,"tag":200,"props":301,"children":303},{"className":302},[203],[304,307],{"type":30,"tag":206,"props":305,"children":306},{"disabled":208,"type":209},[],{"type":35,"value":308}," Audit status: firms, scope, dates and where the reports can be read",{"type":30,"tag":200,"props":310,"children":312},{"className":311},[203],[313,316],{"type":30,"tag":206,"props":314,"children":315},{"disabled":208,"type":209},[],{"type":35,"value":317}," Any cross-chain or bridge design",{"type":30,"tag":31,"props":319,"children":320},{},[321],{"type":35,"value":322},"Exchange listing teams read this section for security and operational risk. Admin rights are the detail most often missing and the one reviewers look for first.",{"type":30,"tag":187,"props":324,"children":326},{"id":325},"_3-token-design-and-utility",[327],{"type":35,"value":328},"3. Token design and utility",{"type":30,"tag":194,"props":330,"children":332},{"className":331},[197],[333,342,351,360,369],{"type":30,"tag":200,"props":334,"children":336},{"className":335},[203],[337,340],{"type":30,"tag":206,"props":338,"children":339},{"disabled":208,"type":209},[],{"type":35,"value":341}," What the token is used for in the product, in concrete actions",{"type":30,"tag":200,"props":343,"children":345},{"className":344},[203],[346,349],{"type":30,"tag":206,"props":347,"children":348},{"disabled":208,"type":209},[],{"type":35,"value":350}," Whether utility exists at launch or arrives later, and which",{"type":30,"tag":200,"props":352,"children":354},{"className":353},[203],[355,358],{"type":30,"tag":206,"props":356,"children":357},{"disabled":208,"type":209},[],{"type":35,"value":359}," How value or demand is meant to connect to usage, without promising returns",{"type":30,"tag":200,"props":361,"children":363},{"className":362},[203],[364,367],{"type":30,"tag":206,"props":365,"children":366},{"disabled":208,"type":209},[],{"type":35,"value":368}," Minting, burning or emission rules, stated precisely",{"type":30,"tag":200,"props":370,"children":372},{"className":371},[203],[373,376],{"type":30,"tag":206,"props":374,"children":375},{"disabled":208,"type":209},[],{"type":35,"value":377}," The token standard and contract address, or a statement that it is pending",{"type":30,"tag":31,"props":379,"children":380},{},[381],{"type":35,"value":382},"Launchpads and exchanges want to see a token with a function. Vague wording such as \"the token powers the ecosystem\" suggests there is none.",{"type":30,"tag":187,"props":384,"children":386},{"id":385},"_4-supply-allocation-and-vesting-tables",[387],{"type":35,"value":388},"4. Supply, allocation and vesting tables",{"type":30,"tag":194,"props":390,"children":392},{"className":391},[197],[393,402,411,420,429],{"type":30,"tag":200,"props":394,"children":396},{"className":395},[203],[397,400],{"type":30,"tag":206,"props":398,"children":399},{"disabled":208,"type":209},[],{"type":35,"value":401}," Total supply and whether it is fixed or variable",{"type":30,"tag":200,"props":403,"children":405},{"className":404},[203],[406,409],{"type":30,"tag":206,"props":407,"children":408},{"disabled":208,"type":209},[],{"type":35,"value":410}," Allocation table: team, investors, advisors, community, treasury, liquidity, ecosystem",{"type":30,"tag":200,"props":412,"children":414},{"className":413},[203],[415,418],{"type":30,"tag":206,"props":416,"children":417},{"disabled":208,"type":209},[],{"type":35,"value":419}," Percentages and absolute token amounts that both add up to the total",{"type":30,"tag":200,"props":421,"children":423},{"className":422},[203],[424,427],{"type":30,"tag":206,"props":425,"children":426},{"disabled":208,"type":209},[],{"type":35,"value":428}," Vesting terms per category: cliff, vesting length, release cadence, unlock at TGE",{"type":30,"tag":200,"props":430,"children":432},{"className":431},[203],[433,436],{"type":30,"tag":206,"props":434,"children":435},{"disabled":208,"type":209},[],{"type":35,"value":437}," Any private round prices and how they compare with the public price",{"type":30,"tag":31,"props":439,"children":440},{},[441],{"type":35,"value":442},"This is the section reviewers open first. Investors compare allocations and entry prices against their own terms, and exchanges check whether large early unlocks could pressure the market. Put the figures in tables rather than prose, so nobody has to rebuild them.",{"type":30,"tag":187,"props":444,"children":446},{"id":445},"_5-circulating-supply-schedule",[447],{"type":35,"value":448},"5. Circulating supply schedule",{"type":30,"tag":194,"props":450,"children":452},{"className":451},[197],[453,462,471,480],{"type":30,"tag":200,"props":454,"children":456},{"className":455},[203],[457,460],{"type":30,"tag":206,"props":458,"children":459},{"disabled":208,"type":209},[],{"type":35,"value":461}," Circulating supply at TGE, with the calculation shown",{"type":30,"tag":200,"props":463,"children":465},{"className":464},[203],[466,469],{"type":30,"tag":206,"props":467,"children":468},{"disabled":208,"type":209},[],{"type":35,"value":470}," A month-by-month schedule for at least the first 12 to 24 months",{"type":30,"tag":200,"props":472,"children":474},{"className":473},[203],[475,478],{"type":30,"tag":206,"props":476,"children":477},{"disabled":208,"type":209},[],{"type":35,"value":479}," Which wallets are counted as locked, and how locks are verified",{"type":30,"tag":200,"props":481,"children":483},{"className":482},[203],[484,487],{"type":30,"tag":206,"props":485,"children":486},{"disabled":208,"type":209},[],{"type":35,"value":488}," Initial market capitalisation and fully diluted valuation at the planned listing price, with the method",{"type":30,"tag":31,"props":490,"children":491},{},[492,494,500],{"type":35,"value":493},"Data aggregators and exchange listing teams need a clear circulating supply figure, and a schedule that matches on-chain locks prevents later disputes. For the method, see our article on ",{"type":30,"tag":43,"props":495,"children":497},{"href":496},"/blog/circulating-supply-explained-token-teams",[498],{"type":35,"value":499},"how to calculate and report circulating supply",{"type":35,"value":501},".",{"type":30,"tag":187,"props":503,"children":505},{"id":504},"_6-treasury-and-governance",[506],{"type":35,"value":507},"6. Treasury and governance",{"type":30,"tag":194,"props":509,"children":511},{"className":510},[197],[512,521,530,539,548],{"type":30,"tag":200,"props":513,"children":515},{"className":514},[203],[516,519],{"type":30,"tag":206,"props":517,"children":518},{"disabled":208,"type":209},[],{"type":35,"value":520}," What the treasury holds, how it is controlled and who can spend it",{"type":30,"tag":200,"props":522,"children":524},{"className":523},[203],[525,528],{"type":30,"tag":206,"props":526,"children":527},{"disabled":208,"type":209},[],{"type":35,"value":529}," Multisig or other custody setup, described at a level that can be checked",{"type":30,"tag":200,"props":531,"children":533},{"className":532},[203],[534,537],{"type":30,"tag":206,"props":535,"children":536},{"disabled":208,"type":209},[],{"type":35,"value":538}," Spending policy: what the treasury funds and how it is reported",{"type":30,"tag":200,"props":540,"children":542},{"className":541},[203],[543,546],{"type":30,"tag":206,"props":544,"children":545},{"disabled":208,"type":209},[],{"type":35,"value":547}," Governance model: who can change parameters, how decisions are made, what is on-chain",{"type":30,"tag":200,"props":549,"children":551},{"className":550},[203],[552,555],{"type":30,"tag":206,"props":553,"children":554},{"disabled":208,"type":209},[],{"type":35,"value":556}," Transition plan if control moves from the founding team to token holders",{"type":30,"tag":31,"props":558,"children":559},{},[560],{"type":35,"value":561},"Investors read this to see who really controls the token. Exchanges want to know who is accountable for treasury movements that could affect the market.",{"type":30,"tag":187,"props":563,"children":565},{"id":564},"_7-team-and-backers",[566],{"type":35,"value":567},"7. Team and backers",{"type":30,"tag":194,"props":569,"children":571},{"className":570},[197],[572,581,590,599],{"type":30,"tag":200,"props":573,"children":575},{"className":574},[203],[576,579],{"type":30,"tag":206,"props":577,"children":578},{"disabled":208,"type":209},[],{"type":35,"value":580}," Named core team with roles and verifiable professional history",{"type":30,"tag":200,"props":582,"children":584},{"className":583},[203],[585,588],{"type":30,"tag":206,"props":586,"children":587},{"disabled":208,"type":209},[],{"type":35,"value":589}," The legal entity behind the project and its jurisdiction",{"type":30,"tag":200,"props":591,"children":593},{"className":592},[203],[594,597],{"type":30,"tag":206,"props":595,"children":596},{"disabled":208,"type":209},[],{"type":35,"value":598}," Advisors included only if they have agreed to be listed",{"type":30,"tag":200,"props":600,"children":602},{"className":601},[203],[603,606],{"type":30,"tag":206,"props":604,"children":605},{"disabled":208,"type":209},[],{"type":35,"value":607}," Disclosed investors and the rounds they took part in",{"type":30,"tag":31,"props":609,"children":610},{},[611],{"type":35,"value":612},"Every reviewer type cares about accountability. Exchanges and launchpads typically run their own checks on the team, and a mismatch between the whitepaper and what they find is a quick way to end the process.",{"type":30,"tag":187,"props":614,"children":616},{"id":615},"_8-roadmap",[617],{"type":35,"value":618},"8. Roadmap",{"type":30,"tag":194,"props":620,"children":622},{"className":621},[197],[623,632,641,650],{"type":30,"tag":200,"props":624,"children":626},{"className":625},[203],[627,630],{"type":30,"tag":206,"props":628,"children":629},{"disabled":208,"type":209},[],{"type":35,"value":631}," Milestones already delivered, with dates",{"type":30,"tag":200,"props":633,"children":635},{"className":634},[203],[636,639],{"type":30,"tag":206,"props":637,"children":638},{"disabled":208,"type":209},[],{"type":35,"value":640}," Upcoming milestones tied to deliverables, not slogans",{"type":30,"tag":200,"props":642,"children":644},{"className":643},[203],[645,648],{"type":30,"tag":206,"props":646,"children":647},{"disabled":208,"type":209},[],{"type":35,"value":649}," Realistic time frames, with dependencies noted",{"type":30,"tag":200,"props":651,"children":653},{"className":652},[203],[654,657],{"type":30,"tag":206,"props":655,"children":656},{"disabled":208,"type":209},[],{"type":35,"value":658}," A statement that the roadmap can change, and how changes will be communicated",{"type":30,"tag":31,"props":660,"children":661},{},[662],{"type":35,"value":663},"Investors judge execution from the track record on the roadmap. A roadmap made entirely of future items with no history behind it reads as an idea rather than a project.",{"type":30,"tag":187,"props":665,"children":667},{"id":666},"_9-risks-and-disclosures",[668],{"type":35,"value":669},"9. Risks and disclosures",{"type":30,"tag":194,"props":671,"children":673},{"className":672},[197],[674,683,692,701,710],{"type":30,"tag":200,"props":675,"children":677},{"className":676},[203],[678,681],{"type":30,"tag":206,"props":679,"children":680},{"disabled":208,"type":209},[],{"type":35,"value":682}," Technical risks: smart contract bugs, dependencies, key management",{"type":30,"tag":200,"props":684,"children":686},{"className":685},[203],[687,690],{"type":30,"tag":206,"props":688,"children":689},{"disabled":208,"type":209},[],{"type":35,"value":691}," Market risks: liquidity, volatility, concentration of holdings",{"type":30,"tag":200,"props":693,"children":695},{"className":694},[203],[696,699],{"type":30,"tag":206,"props":697,"children":698},{"disabled":208,"type":209},[],{"type":35,"value":700}," Regulatory risk: that the legal treatment of the token may differ by jurisdiction and change",{"type":30,"tag":200,"props":702,"children":704},{"className":703},[203],[705,708],{"type":30,"tag":206,"props":706,"children":707},{"disabled":208,"type":209},[],{"type":35,"value":709}," Operational and team risks, including key person dependency",{"type":30,"tag":200,"props":711,"children":713},{"className":712},[203],[714,717],{"type":30,"tag":206,"props":715,"children":716},{"disabled":208,"type":209},[],{"type":35,"value":718}," Conflicts of interest, such as team holdings or related-party arrangements",{"type":30,"tag":31,"props":720,"children":721},{},[722],{"type":35,"value":723},"A risk section that names real risks signals maturity, and counsel at exchanges and launchpads read it closely.",{"type":30,"tag":187,"props":725,"children":727},{"id":726},"_10-legal-disclaimers-and-regulatory-status",[728],{"type":35,"value":729},"10. Legal disclaimers and regulatory status",{"type":30,"tag":194,"props":731,"children":733},{"className":732},[197],[734,743,752,761],{"type":30,"tag":200,"props":735,"children":737},{"className":736},[203],[738,741],{"type":30,"tag":206,"props":739,"children":740},{"disabled":208,"type":209},[],{"type":35,"value":742}," Clear statement that the document is informational and not an offer or investment advice",{"type":30,"tag":200,"props":744,"children":746},{"className":745},[203],[747,750],{"type":30,"tag":206,"props":748,"children":749},{"disabled":208,"type":209},[],{"type":35,"value":751}," Jurisdictions where the token is not offered",{"type":30,"tag":200,"props":753,"children":755},{"className":754},[203],[756,759],{"type":30,"tag":206,"props":757,"children":758},{"disabled":208,"type":209},[],{"type":35,"value":760}," Description of the token's intended legal treatment, as advised by counsel",{"type":30,"tag":200,"props":762,"children":764},{"className":763},[203],[765,768],{"type":30,"tag":206,"props":766,"children":767},{"disabled":208,"type":209},[],{"type":35,"value":769}," Whether the document is intended to meet any formal disclosure regime",{"type":30,"tag":31,"props":771,"children":772},{},[773,775,781],{"type":35,"value":774},"Some regimes require a formal document for certain offerings or admissions to trading. The EU's MiCA regulation, for example, includes a crypto-asset white paper requirement for certain tokens. Whether it applies to you, and what exactly must be in it, depends on your token and where you offer it, so get legal advice early. Our overview of ",{"type":30,"tag":43,"props":776,"children":778},{"href":777},"/blog/token-launch-legal-considerations",[779],{"type":35,"value":780},"token launch legal considerations",{"type":35,"value":782}," is a starting point for the questions to ask counsel. A marketing whitepaper should not be assumed to satisfy a regulatory one.",{"type":30,"tag":187,"props":784,"children":786},{"id":785},"_11-versioning-and-maintenance",[787],{"type":35,"value":788},"11. Versioning and maintenance",{"type":30,"tag":194,"props":790,"children":792},{"className":791},[197],[793,802,811,820,829],{"type":30,"tag":200,"props":794,"children":796},{"className":795},[203],[797,800],{"type":30,"tag":206,"props":798,"children":799},{"disabled":208,"type":209},[],{"type":35,"value":801}," Version number, date and a short change log on the first page",{"type":30,"tag":200,"props":803,"children":805},{"className":804},[203],[806,809],{"type":30,"tag":206,"props":807,"children":808},{"disabled":208,"type":209},[],{"type":35,"value":810}," A named owner responsible for updates",{"type":30,"tag":200,"props":812,"children":814},{"className":813},[203],[815,818],{"type":30,"tag":206,"props":816,"children":817},{"disabled":208,"type":209},[],{"type":35,"value":819}," A rule that any change to supply, allocation or vesting is published as a new version",{"type":30,"tag":200,"props":821,"children":823},{"className":822},[203],[824,827],{"type":30,"tag":206,"props":825,"children":826},{"disabled":208,"type":209},[],{"type":35,"value":828}," Old versions kept accessible",{"type":30,"tag":200,"props":830,"children":832},{"className":831},[203],[833,836],{"type":30,"tag":206,"props":834,"children":835},{"disabled":208,"type":209},[],{"type":35,"value":837}," One source of truth for numbers, used to generate the whitepaper, litepaper, docs and website",{"type":30,"tag":31,"props":839,"children":840},{},[841],{"type":35,"value":842},"Reviewers compare versions. A silent change to allocations after a listing review is among the most damaging things a project can do.",{"type":30,"tag":52,"props":844,"children":846},{"id":845},"who-reads-what",[847],{"type":35,"value":848},"Who Reads What",{"type":30,"tag":31,"props":850,"children":851},{},[852],{"type":35,"value":853},"Different reviewers weigh the sections differently, so it helps to know where each one starts.",{"type":30,"tag":194,"props":855,"children":856},{},[857,876,886],{"type":30,"tag":200,"props":858,"children":859},{},[860,866,868,874],{"type":30,"tag":861,"props":862,"children":863},"strong",{},[864],{"type":35,"value":865},"Exchanges:",{"type":35,"value":867}," architecture and admin rights, circulating supply, allocation and unlocks, legal disclaimers. See our ",{"type":30,"tag":43,"props":869,"children":871},{"href":870},"/blog/crypto-exchange-listing-requirements",[872],{"type":35,"value":873},"crypto exchange listing requirements",{"type":35,"value":875}," for the wider application picture. A whitepaper for exchange listing should make these sections easy to find.",{"type":30,"tag":200,"props":877,"children":878},{},[879,884],{"type":30,"tag":861,"props":880,"children":881},{},[882],{"type":35,"value":883},"Investors:",{"type":35,"value":885}," problem and product, token utility, allocation and entry prices, governance and team.",{"type":30,"tag":200,"props":887,"children":888},{},[889,894,896,902],{"type":30,"tag":861,"props":890,"children":891},{},[892],{"type":35,"value":893},"Launchpads:",{"type":35,"value":895}," team, tokenomics, audit status, and the post-sale plan. The model you choose affects what they ask for, as covered in ",{"type":30,"tag":43,"props":897,"children":899},{"href":898},"/blog/launchpool-vs-ieo-vs-launchpad",[900],{"type":35,"value":901},"launchpool vs IEO vs launchpad",{"type":35,"value":501},{"type":30,"tag":52,"props":904,"children":906},{"id":905},"red-flags-reviewers-notice",[907],{"type":35,"value":908},"Red Flags Reviewers Notice",{"type":30,"tag":194,"props":910,"children":911},{},[912,922,932,942,952,962,972,982],{"type":30,"tag":200,"props":913,"children":914},{},[915,920],{"type":30,"tag":861,"props":916,"children":917},{},[918],{"type":35,"value":919},"Numbers that disagree.",{"type":35,"value":921}," Supply, allocations or vesting differ between the whitepaper, the deck and the website.",{"type":30,"tag":200,"props":923,"children":924},{},[925,930],{"type":30,"tag":861,"props":926,"children":927},{},[928],{"type":35,"value":929},"Allocation tables that do not add up.",{"type":35,"value":931}," Percentages that total more or less than 100, or token amounts that miss the supply.",{"type":30,"tag":200,"props":933,"children":934},{},[935,940],{"type":30,"tag":861,"props":936,"children":937},{},[938],{"type":35,"value":939},"Utility that exists only in the future.",{"type":35,"value":941}," The token has no function now, and none is specified for later.",{"type":30,"tag":200,"props":943,"children":944},{},[945,950],{"type":30,"tag":861,"props":946,"children":947},{},[948],{"type":35,"value":949},"Unexplained early unlocks.",{"type":35,"value":951}," Large team or investor releases near launch, with no reasoning given.",{"type":30,"tag":200,"props":953,"children":954},{},[955,960],{"type":30,"tag":861,"props":956,"children":957},{},[958],{"type":35,"value":959},"No admin-key disclosure.",{"type":35,"value":961}," Minting, pausing or upgrade rights exist, but the document is silent about who holds them.",{"type":30,"tag":200,"props":963,"children":964},{},[965,970],{"type":30,"tag":861,"props":966,"children":967},{},[968],{"type":35,"value":969},"Guaranteed returns or price talk.",{"type":35,"value":971}," Language about expected price or yield invites legal and reputational trouble.",{"type":30,"tag":200,"props":973,"children":974},{},[975,980],{"type":30,"tag":861,"props":976,"children":977},{},[978],{"type":35,"value":979},"Anonymous or unverifiable team.",{"type":35,"value":981}," No names, or names that cannot be checked.",{"type":30,"tag":200,"props":983,"children":984},{},[985,990],{"type":30,"tag":861,"props":986,"children":987},{},[988],{"type":35,"value":989},"No risk section, or a generic one.",{"type":35,"value":991}," Boilerplate that fits any token suggests nobody thought about this one.",{"type":30,"tag":52,"props":993,"children":995},{"id":994},"how-to-use-the-checklist",[996],{"type":35,"value":997},"How to Use the Checklist",{"type":30,"tag":31,"props":999,"children":1000},{},[1001],{"type":35,"value":1002},"Start with the tables, since everything else refers back to them. Write the product and architecture sections from what is true today. Have counsel review the risk and legal sections, and have someone who did not write the document check every number against the model. Publish with a version and date, and treat later edits as releases.",{"type":30,"tag":52,"props":1004,"children":1006},{"id":1005},"final-word",[1007],{"type":35,"value":1008},"Final Word",{"type":30,"tag":31,"props":1010,"children":1011},{},[1012],{"type":35,"value":1013},"A good whitepaper does not need to be long. It needs to be precise on supply, allocation, vesting, contract control and risk. Teams with a clean, consistent document spend reviews discussing the product rather than defending gaps.",{"type":30,"tag":31,"props":1015,"children":1016},{},[1017,1019,1025],{"type":35,"value":1018},"The whitepaper is also the base that your listing and liquidity plan is built on. At Fibonacci Capital we work with token teams on market making, liquidity planning and listing support, and the clearer your supply and unlock disclosures are, the easier it is to plan healthy trading from day one. If you are preparing a launch and want to pressure-test the plan, ",{"type":30,"tag":43,"props":1020,"children":1022},{"href":1021},"/pretge",[1023],{"type":35,"value":1024},"get in touch about our pre-TGE support",{"type":35,"value":501},{"title":7,"searchDepth":1027,"depth":1027,"links":1028},2,[1029,1030,1044,1045,1046,1047],{"id":54,"depth":1027,"text":57},{"id":177,"depth":1027,"text":180,"children":1031},[1032,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043],{"id":189,"depth":1033,"text":192},3,{"id":256,"depth":1033,"text":259},{"id":325,"depth":1033,"text":328},{"id":385,"depth":1033,"text":388},{"id":445,"depth":1033,"text":448},{"id":504,"depth":1033,"text":507},{"id":564,"depth":1033,"text":567},{"id":615,"depth":1033,"text":618},{"id":666,"depth":1033,"text":669},{"id":726,"depth":1033,"text":729},{"id":785,"depth":1033,"text":788},{"id":845,"depth":1027,"text":848},{"id":905,"depth":1027,"text":908},{"id":994,"depth":1027,"text":997},{"id":1005,"depth":1027,"text":1008},"markdown","content:blog:crypto-whitepaper-checklist.md","content","blog/crypto-whitepaper-checklist.md","blog/crypto-whitepaper-checklist","md",[1055,1866,2627],{"_path":1056,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":1057,"description":1058,"date":1059,"author":11,"category":12,"tags":1060,"keywords":1065,"image":1071,"readTime":25,"body":1072,"_type":1048,"_id":1863,"_source":1050,"_file":1864,"_stem":1865,"_extension":1053},"/blog/how-to-run-an-incentivized-testnet","How to Run an Incentivized Testnet: A Step-by-Step Guide for Token Projects","How to run an incentivized testnet step by step: set goals, design useful tasks, structure rewards, resist Sybil farmers and turn testers into real users.","2026-10-27",[1061,15,1062,1063,1064],"testnet","community","airdrop","sybil resistance",[1066,1067,1068,1069,1070],"incentivized testnet","how to run a testnet","testnet rewards","testnet sybil resistance","testnet to mainnet","/assets/images/blog/how-to-run-an-incentivized-testnet.jpg",{"type":27,"children":1073,"toc":1845},[1074,1079,1085,1090,1143,1148,1154,1159,1182,1187,1241,1254,1260,1265,1305,1310,1338,1343,1348,1354,1359,1365,1370,1376,1381,1387,1392,1398,1403,1409,1414,1420,1425,1448,1461,1466,1472,1477,1530,1543,1549,1554,1597,1603,1686,1692,1822,1828,1833],{"type":30,"tag":31,"props":1075,"children":1076},{},[1077],{"type":35,"value":1078},"To run an incentivized testnet, decide what you need to learn first, design tasks that generate that data, reward verified contribution rather than raw volume, filter out farming behaviour, and plan the programme backwards from your mainnet and token launch dates. An incentivized testnet is a public test environment where participants earn some form of recognition or future benefit for using the product and reporting problems. Done well, it is the cheapest stress test and community builder you will get before launch. Done badly, it is a bot farm that tells you nothing and attracts the wrong audience. This guide walks through the process in order.",{"type":30,"tag":52,"props":1080,"children":1082},{"id":1081},"step-1-set-goals-that-are-not-just-hype",[1083],{"type":35,"value":1084},"Step 1: Set Goals That Are Not Just Hype",{"type":30,"tag":31,"props":1086,"children":1087},{},[1088],{"type":35,"value":1089},"Every testnet that fails to produce useful output skipped this step. \"Get people talking about us\" is not a goal. Pick two or three from this list and write them down with a measurable target before you design anything:",{"type":30,"tag":194,"props":1091,"children":1092},{},[1093,1103,1113,1123,1133],{"type":30,"tag":200,"props":1094,"children":1095},{},[1096,1101],{"type":30,"tag":861,"props":1097,"children":1098},{},[1099],{"type":35,"value":1100},"Stress testing.",{"type":35,"value":1102}," Find out what happens to the protocol under load, unusual transaction patterns and concurrent users.",{"type":30,"tag":200,"props":1104,"children":1105},{},[1106,1111],{"type":30,"tag":861,"props":1107,"children":1108},{},[1109],{"type":35,"value":1110},"Bug discovery.",{"type":35,"value":1112}," Surface edge cases your internal QA and audit did not catch.",{"type":30,"tag":200,"props":1114,"children":1115},{},[1116,1121],{"type":30,"tag":861,"props":1117,"children":1118},{},[1119],{"type":35,"value":1120},"Validator and node onboarding.",{"type":35,"value":1122}," Get operators running real infrastructure, learning your client and ready for mainnet.",{"type":30,"tag":200,"props":1124,"children":1125},{},[1126,1131],{"type":30,"tag":861,"props":1127,"children":1128},{},[1129],{"type":35,"value":1130},"Early community.",{"type":35,"value":1132}," Build a base of people who understand the product and will use it at launch.",{"type":30,"tag":200,"props":1134,"children":1135},{},[1136,1141],{"type":30,"tag":861,"props":1137,"children":1138},{},[1139],{"type":35,"value":1140},"UX feedback.",{"type":35,"value":1142}," Learn where users get stuck in onboarding, bridging or core flows.",{"type":30,"tag":31,"props":1144,"children":1145},{},[1146],{"type":35,"value":1147},"Each goal implies a different design. A stress test wants volume and concurrency. A bug hunt wants thoughtful, adversarial users. A community goal wants retention. If you try to optimise for all of them at once, you will usually get none, so rank them.",{"type":30,"tag":52,"props":1149,"children":1151},{"id":1150},"step-2-design-tasks-that-produce-signal",[1152],{"type":35,"value":1153},"Step 2: Design Tasks That Produce Signal",{"type":30,"tag":31,"props":1155,"children":1156},{},[1157],{"type":35,"value":1158},"A task is only useful if completing it tells you something. Compare these two approaches:",{"type":30,"tag":194,"props":1160,"children":1161},{},[1162,1172],{"type":30,"tag":200,"props":1163,"children":1164},{},[1165,1170],{"type":30,"tag":861,"props":1166,"children":1167},{},[1168],{"type":35,"value":1169},"Low signal:",{"type":35,"value":1171}," \"Make 50 transactions.\" This invites scripts, and the data you collect is mostly noise.",{"type":30,"tag":200,"props":1173,"children":1174},{},[1175,1180],{"type":30,"tag":861,"props":1176,"children":1177},{},[1178],{"type":35,"value":1179},"High signal:",{"type":35,"value":1181}," \"Complete a full cycle: provide liquidity, swap through a multi-hop route, then withdraw during a congested period.\" This exercises real code paths and produces varied behaviour.",{"type":30,"tag":31,"props":1183,"children":1184},{},[1185],{"type":35,"value":1186},"Practical principles:",{"type":30,"tag":1188,"props":1189,"children":1190},"ol",{},[1191,1201,1211,1221,1231],{"type":30,"tag":200,"props":1192,"children":1193},{},[1194,1199],{"type":30,"tag":861,"props":1195,"children":1196},{},[1197],{"type":35,"value":1198},"Map tasks to components.",{"type":35,"value":1200}," List the contracts, endpoints and user flows you want tested, then write at least one task per component.",{"type":30,"tag":200,"props":1202,"children":1203},{},[1204,1209],{"type":30,"tag":861,"props":1205,"children":1206},{},[1207],{"type":35,"value":1208},"Mix scripted and human tasks.",{"type":35,"value":1210}," Let automation hit your load targets in a controlled phase, and keep separate tasks that need judgment, such as writing a bug report or documenting a confusing flow.",{"type":30,"tag":200,"props":1212,"children":1213},{},[1214,1219],{"type":30,"tag":861,"props":1215,"children":1216},{},[1217],{"type":35,"value":1218},"Escalate difficulty.",{"type":35,"value":1220}," Start with onboarding and simple actions, then move to complex flows and finally adversarial testing.",{"type":30,"tag":200,"props":1222,"children":1223},{},[1224,1229],{"type":30,"tag":861,"props":1225,"children":1226},{},[1227],{"type":35,"value":1228},"Make completion verifiable.",{"type":35,"value":1230}," Prefer on-chain actions or logged events over self-reported screenshots.",{"type":30,"tag":200,"props":1232,"children":1233},{},[1234,1239],{"type":30,"tag":861,"props":1235,"children":1236},{},[1237],{"type":35,"value":1238},"Avoid tasks that reward spam.",{"type":35,"value":1240}," If a task can be repeated cheaply without learning anything, cap it or remove it.",{"type":30,"tag":31,"props":1242,"children":1243},{},[1244,1246,1252],{"type":35,"value":1245},"Many teams distribute and track tasks through quest tooling. Our comparison of ",{"type":30,"tag":43,"props":1247,"children":1249},{"href":1248},"/blog/best-crypto-quest-platforms",[1250],{"type":35,"value":1251},"crypto quest platforms",{"type":35,"value":1253}," covers the options and what to look for when you need verifiable, on-chain task completion rather than social engagement.",{"type":30,"tag":52,"props":1255,"children":1257},{"id":1256},"step-3-design-the-rewards-without-promising-token-value",[1258],{"type":35,"value":1259},"Step 3: Design the Rewards Without Promising Token Value",{"type":30,"tag":31,"props":1261,"children":1262},{},[1263],{"type":35,"value":1264},"Reward design is where most legal and community risk sits, so decide it early. The common structures are:",{"type":30,"tag":194,"props":1266,"children":1267},{},[1268,1285,1295],{"type":30,"tag":200,"props":1269,"children":1270},{},[1271,1276,1278,1284],{"type":30,"tag":861,"props":1272,"children":1273},{},[1274],{"type":35,"value":1275},"Points.",{"type":35,"value":1277}," Participants accumulate points for verified actions. Points are flexible, easy to adjust and carry no built-in promise. For how this compares with a one-off distribution, see ",{"type":30,"tag":43,"props":1279,"children":1281},{"href":1280},"/blog/points-program-vs-airdrop",[1282],{"type":35,"value":1283},"points programs vs airdrops",{"type":35,"value":501},{"type":30,"tag":200,"props":1286,"children":1287},{},[1288,1293],{"type":30,"tag":861,"props":1289,"children":1290},{},[1291],{"type":35,"value":1292},"Future allocation.",{"type":35,"value":1294}," Participation may be considered when a token distribution is designed later. This is the loosest commitment and the most sensitive legally.",{"type":30,"tag":200,"props":1296,"children":1297},{},[1298,1303],{"type":30,"tag":861,"props":1299,"children":1300},{},[1301],{"type":35,"value":1302},"NFTs or badges.",{"type":35,"value":1304}," Non-transferable or low-value markers of participation, which can serve as an attestation of early involvement.",{"type":30,"tag":31,"props":1306,"children":1307},{},[1308],{"type":35,"value":1309},"Whatever you choose, communicate it carefully:",{"type":30,"tag":194,"props":1311,"children":1312},{},[1313,1318,1323,1328,1333],{"type":30,"tag":200,"props":1314,"children":1315},{},[1316],{"type":35,"value":1317},"Describe what participants do and how contributions are measured, not what they will receive.",{"type":30,"tag":200,"props":1319,"children":1320},{},[1321],{"type":35,"value":1322},"Never state or imply that points convert into tokens at a given rate, or that tokens will be worth anything.",{"type":30,"tag":200,"props":1324,"children":1325},{},[1326],{"type":35,"value":1327},"Say plainly that rewards, if any, are at the project's discretion and may change.",{"type":30,"tag":200,"props":1329,"children":1330},{},[1331],{"type":35,"value":1332},"Do not use language about returns, profit or price. Avoid anything that sounds like an investment pitch.",{"type":30,"tag":200,"props":1334,"children":1335},{},[1336],{"type":35,"value":1337},"Keep the rules in one published document and update it openly when they change.",{"type":30,"tag":31,"props":1339,"children":1340},{},[1341],{"type":35,"value":1342},"If you plan a token distribution that considers testnet activity, treat it as a separate design exercise.",{"type":30,"tag":31,"props":1344,"children":1345},{},[1346],{"type":35,"value":1347},"A note on legal caution: how rewards are described, who can participate and which jurisdictions you exclude all carry regulatory implications that vary by country. Have a qualified lawyer review your terms, your public messaging and your reward structure before launch. This article is not legal advice.",{"type":30,"tag":52,"props":1349,"children":1351},{"id":1350},"step-4-build-sybil-and-farmer-resistance-in",[1352],{"type":35,"value":1353},"Step 4: Build Sybil and Farmer Resistance In",{"type":30,"tag":31,"props":1355,"children":1356},{},[1357],{"type":35,"value":1358},"Any programme with a possible reward will attract people running many wallets. You will not eliminate this, but you can make it expensive and detectable. Plan the defences before launch, because changing rules after the fact damages trust.",{"type":30,"tag":187,"props":1360,"children":1362},{"id":1361},"reward-behaviour-not-just-activity",[1363],{"type":35,"value":1364},"Reward Behaviour, Not Just Activity",{"type":30,"tag":31,"props":1366,"children":1367},{},[1368],{"type":35,"value":1369},"On-chain behaviour that looks like a real user is harder to fake than a count of transactions. Look at the variety of actions, the timing between them, whether interactions with the protocol make economic sense and whether the wallet has any history outside the programme.",{"type":30,"tag":187,"props":1371,"children":1373},{"id":1372},"use-minimum-activity-thresholds",[1374],{"type":35,"value":1375},"Use Minimum Activity Thresholds",{"type":30,"tag":31,"props":1377,"children":1378},{},[1379],{"type":35,"value":1380},"Set a baseline of meaningful participation before any reward qualifies. A threshold of several different task types over several weeks filters out the one-click farmer far better than a single large-volume requirement.",{"type":30,"tag":187,"props":1382,"children":1384},{"id":1383},"check-attestations-and-identity-signals",[1385],{"type":35,"value":1386},"Check Attestations and Identity Signals",{"type":30,"tag":31,"props":1388,"children":1389},{},[1390],{"type":35,"value":1391},"Optional attestations, such as proof of personhood, linked reputation credentials or verified accounts, can add confidence without forcing everyone through heavy KYC. Use them as a signal that increases a participant's weighting, not necessarily as a hard gate, and be careful about the data you collect.",{"type":30,"tag":187,"props":1393,"children":1395},{"id":1394},"cluster-and-review-before-rewarding",[1396],{"type":35,"value":1397},"Cluster and Review Before Rewarding",{"type":30,"tag":31,"props":1399,"children":1400},{},[1401],{"type":35,"value":1402},"Analyse wallets for shared funding sources, identical action sequences and coordinated timing. Clusters that behave like one operator should be treated as one participant. Run this analysis on a rolling basis, not only at the end, so you can adjust tasks when you see patterns.",{"type":30,"tag":187,"props":1404,"children":1406},{"id":1405},"keep-a-human-review-step",[1407],{"type":35,"value":1408},"Keep a Human Review Step",{"type":30,"tag":31,"props":1410,"children":1411},{},[1412],{"type":35,"value":1413},"Automated rules produce false positives. Let flagged participants appeal, and have someone read borderline cases.",{"type":30,"tag":52,"props":1415,"children":1417},{"id":1416},"step-5-capture-bugs-properly",[1418],{"type":35,"value":1419},"Step 5: Capture Bugs Properly",{"type":30,"tag":31,"props":1421,"children":1422},{},[1423],{"type":35,"value":1424},"A testnet is partly a vulnerability discovery exercise, and you need a clear route for what people find. Separate two types of reports:",{"type":30,"tag":194,"props":1426,"children":1427},{},[1428,1438],{"type":30,"tag":200,"props":1429,"children":1430},{},[1431,1436],{"type":30,"tag":861,"props":1432,"children":1433},{},[1434],{"type":35,"value":1435},"Functional bugs and UX issues.",{"type":35,"value":1437}," Handle these through a standard form or ticketing flow, with points or recognition for useful, reproducible reports.",{"type":30,"tag":200,"props":1439,"children":1440},{},[1441,1446],{"type":30,"tag":861,"props":1442,"children":1443},{},[1444],{"type":35,"value":1445},"Security vulnerabilities.",{"type":35,"value":1447}," These should never be posted in public channels. Provide a private disclosure route and tie it to a formal bug bounty so researchers know how to report and what to expect.",{"type":30,"tag":31,"props":1449,"children":1450},{},[1451,1453,1459],{"type":35,"value":1452},"If you do not already have a bounty in place, set one up before the testnet opens. Our ",{"type":30,"tag":43,"props":1454,"children":1456},{"href":1455},"/blog/bug-bounty-program-checklist-token-projects",[1457],{"type":35,"value":1458},"bug bounty program checklist",{"type":35,"value":1460}," covers scope, severity tiers, payout rules and disclosure terms. Make sure the testnet rules state clearly that serious security findings go through that process, not through the points system.",{"type":30,"tag":31,"props":1462,"children":1463},{},[1464],{"type":35,"value":1465},"Also decide in advance who triages reports, how quickly you will respond, and how you will credit finders. Slow responses to early reports quickly teach your best testers to stop reporting.",{"type":30,"tag":52,"props":1467,"children":1469},{"id":1468},"step-6-phase-the-programme-and-work-back-from-tge",[1470],{"type":35,"value":1471},"Step 6: Phase the Programme and Work Back from TGE",{"type":30,"tag":31,"props":1473,"children":1474},{},[1475],{"type":35,"value":1476},"Do not run one long, undifferentiated campaign. Phases let you test different things and keep participants engaged. A typical structure:",{"type":30,"tag":1188,"props":1478,"children":1479},{},[1480,1490,1500,1510,1520],{"type":30,"tag":200,"props":1481,"children":1482},{},[1483,1488],{"type":30,"tag":861,"props":1484,"children":1485},{},[1486],{"type":35,"value":1487},"Closed alpha.",{"type":35,"value":1489}," A small group of trusted testers and technical contributors. Goal: catch obvious breakage before going public.",{"type":30,"tag":200,"props":1491,"children":1492},{},[1493,1498],{"type":30,"tag":861,"props":1494,"children":1495},{},[1496],{"type":35,"value":1497},"Public testnet, core flows.",{"type":35,"value":1499}," Open participation with simple tasks. Goal: onboarding data and basic load.",{"type":30,"tag":200,"props":1501,"children":1502},{},[1503,1508],{"type":30,"tag":861,"props":1504,"children":1505},{},[1506],{"type":35,"value":1507},"Stress and adversarial phase.",{"type":35,"value":1509}," Harder tasks, scheduled load events and structured bug hunting.",{"type":30,"tag":200,"props":1511,"children":1512},{},[1513,1518],{"type":30,"tag":861,"props":1514,"children":1515},{},[1516],{"type":35,"value":1517},"Validator or node phase, if relevant.",{"type":35,"value":1519}," Operators run infrastructure under realistic conditions.",{"type":30,"tag":200,"props":1521,"children":1522},{},[1523,1528],{"type":30,"tag":861,"props":1524,"children":1525},{},[1526],{"type":35,"value":1527},"Wrap-up and fix window.",{"type":35,"value":1529}," Freeze new features, fix what was found, publish a summary.",{"type":30,"tag":31,"props":1531,"children":1532},{},[1533,1535,1541],{"type":35,"value":1534},"Then anchor those phases to your launch plan. The testnet should end with enough time to fix issues, complete audits, finalise tokenomics and prepare listings and liquidity. Compressing that gap is a common reason teams ship with unresolved problems. Our ",{"type":30,"tag":43,"props":1536,"children":1538},{"href":1537},"/blog/preparing-for-tge-timeline",[1539],{"type":35,"value":1540},"TGE timeline guide",{"type":35,"value":1542}," shows how the pieces fit together so you can set realistic dates for each phase.",{"type":30,"tag":52,"props":1544,"children":1546},{"id":1545},"step-7-convert-testers-into-real-users",[1547],{"type":35,"value":1548},"Step 7: Convert Testers Into Real Users",{"type":30,"tag":31,"props":1550,"children":1551},{},[1552],{"type":35,"value":1553},"Most testnet participants vanish at mainnet unless you give them a reason and a path to stay. Plan the transition while the testnet is still running:",{"type":30,"tag":194,"props":1555,"children":1556},{},[1557,1567,1577,1587],{"type":30,"tag":200,"props":1558,"children":1559},{},[1560,1565],{"type":30,"tag":861,"props":1561,"children":1562},{},[1563],{"type":35,"value":1564},"Close the loop.",{"type":35,"value":1566}," Publish what you learned and what you fixed. Participants who see their reports used feel invested.",{"type":30,"tag":200,"props":1568,"children":1569},{},[1570,1575],{"type":30,"tag":861,"props":1571,"children":1572},{},[1573],{"type":35,"value":1574},"Keep the strongest contributors close.",{"type":35,"value":1576}," Identify people who gave high-quality feedback or ran reliable nodes and bring them into ambassador, moderator or advisory roles.",{"type":30,"tag":200,"props":1578,"children":1579},{},[1580,1585],{"type":30,"tag":861,"props":1581,"children":1582},{},[1583],{"type":35,"value":1584},"Give a clear mainnet path.",{"type":35,"value":1586}," Explain how to move from testnet to mainnet, what carries over and what does not, in simple steps.",{"type":30,"tag":200,"props":1588,"children":1589},{},[1590,1595],{"type":30,"tag":861,"props":1591,"children":1592},{},[1593],{"type":35,"value":1594},"Build the community on purpose.",{"type":35,"value":1596}," Testnet participants are an audience you can talk to, not a list to dump.",{"type":30,"tag":52,"props":1598,"children":1600},{"id":1599},"common-mistakes",[1601],{"type":35,"value":1602},"Common Mistakes",{"type":30,"tag":194,"props":1604,"children":1605},{},[1606,1616,1626,1636,1646,1656,1666,1676],{"type":30,"tag":200,"props":1607,"children":1608},{},[1609,1614],{"type":30,"tag":861,"props":1610,"children":1611},{},[1612],{"type":35,"value":1613},"No stated goals.",{"type":35,"value":1615}," The testnet runs, nothing measurable comes out, and no one can say whether it worked.",{"type":30,"tag":200,"props":1617,"children":1618},{},[1619,1624],{"type":30,"tag":861,"props":1620,"children":1621},{},[1622],{"type":35,"value":1623},"Volume-only tasks.",{"type":35,"value":1625}," You attract scripts and learn nothing about real usage.",{"type":30,"tag":200,"props":1627,"children":1628},{},[1629,1634],{"type":30,"tag":861,"props":1630,"children":1631},{},[1632],{"type":35,"value":1633},"Vague or shifting reward rules.",{"type":35,"value":1635}," Participants feel misled and your community turns hostile.",{"type":30,"tag":200,"props":1637,"children":1638},{},[1639,1644],{"type":30,"tag":861,"props":1640,"children":1641},{},[1642],{"type":35,"value":1643},"Implying token value.",{"type":35,"value":1645}," Language about future price or returns creates legal exposure and unrealistic expectations.",{"type":30,"tag":200,"props":1647,"children":1648},{},[1649,1654],{"type":30,"tag":861,"props":1650,"children":1651},{},[1652],{"type":35,"value":1653},"Anti-Sybil as an afterthought.",{"type":35,"value":1655}," Adding filters after launch punishes honest users and looks arbitrary.",{"type":30,"tag":200,"props":1657,"children":1658},{},[1659,1664],{"type":30,"tag":861,"props":1660,"children":1661},{},[1662],{"type":35,"value":1663},"No security reporting route.",{"type":35,"value":1665}," Vulnerabilities get posted publicly or sold elsewhere.",{"type":30,"tag":200,"props":1667,"children":1668},{},[1669,1674],{"type":30,"tag":861,"props":1670,"children":1671},{},[1672],{"type":35,"value":1673},"Running out of runway.",{"type":35,"value":1675}," The testnet ends too close to TGE, leaving no time to act on what you learned.",{"type":30,"tag":200,"props":1677,"children":1678},{},[1679,1684],{"type":30,"tag":861,"props":1680,"children":1681},{},[1682],{"type":35,"value":1683},"No plan for after.",{"type":35,"value":1685}," Participants drift away once the rewards stop.",{"type":30,"tag":52,"props":1687,"children":1689},{"id":1688},"incentivized-testnet-checklist",[1690],{"type":35,"value":1691},"Incentivized Testnet Checklist",{"type":30,"tag":194,"props":1693,"children":1695},{"className":1694},[197],[1696,1705,1714,1723,1732,1741,1750,1759,1768,1777,1786,1795,1804,1813],{"type":30,"tag":200,"props":1697,"children":1699},{"className":1698},[203],[1700,1703],{"type":30,"tag":206,"props":1701,"children":1702},{"disabled":208,"type":209},[],{"type":35,"value":1704}," Two or three ranked goals written down with measurable targets",{"type":30,"tag":200,"props":1706,"children":1708},{"className":1707},[203],[1709,1712],{"type":30,"tag":206,"props":1710,"children":1711},{"disabled":208,"type":209},[],{"type":35,"value":1713}," Tasks mapped to specific components and flows, each with verifiable completion",{"type":30,"tag":200,"props":1715,"children":1717},{"className":1716},[203],[1718,1721],{"type":30,"tag":206,"props":1719,"children":1720},{"disabled":208,"type":209},[],{"type":35,"value":1722}," Low-value, easily spammed tasks capped or removed",{"type":30,"tag":200,"props":1724,"children":1726},{"className":1725},[203],[1727,1730],{"type":30,"tag":206,"props":1728,"children":1729},{"disabled":208,"type":209},[],{"type":35,"value":1731}," Reward structure chosen and documented in one public rules page",{"type":30,"tag":200,"props":1733,"children":1735},{"className":1734},[203],[1736,1739],{"type":30,"tag":206,"props":1737,"children":1738},{"disabled":208,"type":209},[],{"type":35,"value":1740}," Messaging reviewed to avoid any promise or implication of token value",{"type":30,"tag":200,"props":1742,"children":1744},{"className":1743},[203],[1745,1748],{"type":30,"tag":206,"props":1746,"children":1747},{"disabled":208,"type":209},[],{"type":35,"value":1749}," Legal review of terms, reward language and excluded jurisdictions completed",{"type":30,"tag":200,"props":1751,"children":1753},{"className":1752},[203],[1754,1757],{"type":30,"tag":206,"props":1755,"children":1756},{"disabled":208,"type":209},[],{"type":35,"value":1758}," Minimum activity thresholds defined",{"type":30,"tag":200,"props":1760,"children":1762},{"className":1761},[203],[1763,1766],{"type":30,"tag":206,"props":1764,"children":1765},{"disabled":208,"type":209},[],{"type":35,"value":1767}," Wallet clustering and behavioural analysis set up, with a human review and appeal step",{"type":30,"tag":200,"props":1769,"children":1771},{"className":1770},[203],[1772,1775],{"type":30,"tag":206,"props":1773,"children":1774},{"disabled":208,"type":209},[],{"type":35,"value":1776}," Bug bounty live and security disclosure route published",{"type":30,"tag":200,"props":1778,"children":1780},{"className":1779},[203],[1781,1784],{"type":30,"tag":206,"props":1782,"children":1783},{"disabled":208,"type":209},[],{"type":35,"value":1785}," Functional bug reporting flow and triage owner assigned",{"type":30,"tag":200,"props":1787,"children":1789},{"className":1788},[203],[1790,1793],{"type":30,"tag":206,"props":1791,"children":1792},{"disabled":208,"type":209},[],{"type":35,"value":1794}," Phases defined: closed alpha, public, stress, validator, wrap-up",{"type":30,"tag":200,"props":1796,"children":1798},{"className":1797},[203],[1799,1802],{"type":30,"tag":206,"props":1800,"children":1801},{"disabled":208,"type":209},[],{"type":35,"value":1803}," Testnet end date set with enough time for fixes, audits and launch preparation",{"type":30,"tag":200,"props":1805,"children":1807},{"className":1806},[203],[1808,1811],{"type":30,"tag":206,"props":1809,"children":1810},{"disabled":208,"type":209},[],{"type":35,"value":1812}," Mainnet transition plan and contributor retention plan ready",{"type":30,"tag":200,"props":1814,"children":1816},{"className":1815},[203],[1817,1820],{"type":30,"tag":206,"props":1818,"children":1819},{"disabled":208,"type":209},[],{"type":35,"value":1821}," Post-testnet report prepared for the community",{"type":30,"tag":52,"props":1823,"children":1825},{"id":1824},"from-testnet-to-launch",[1826],{"type":35,"value":1827},"From Testnet to Launch",{"type":30,"tag":31,"props":1829,"children":1830},{},[1831],{"type":35,"value":1832},"A good incentivized testnet leaves you with a hardened product, a group of people who understand it and data on how it behaves under pressure. Those same people are the first holders and users when your token goes live, which is why the transition from testnet to listing deserves as much planning as the testnet itself.",{"type":30,"tag":31,"props":1834,"children":1835},{},[1836,1838,1843],{"type":35,"value":1837},"Fibonacci Capital works with token teams on launch preparation and market making, including the liquidity setup around TGE. If you are planning a testnet and want to think through how it fits into your launch timeline, ",{"type":30,"tag":43,"props":1839,"children":1840},{"href":1021},[1841],{"type":35,"value":1842},"get in touch",{"type":35,"value":1844}," and we can walk through your plan.",{"title":7,"searchDepth":1027,"depth":1027,"links":1846},[1847,1848,1849,1850,1857,1858,1859,1860,1861,1862],{"id":1081,"depth":1027,"text":1084},{"id":1150,"depth":1027,"text":1153},{"id":1256,"depth":1027,"text":1259},{"id":1350,"depth":1027,"text":1353,"children":1851},[1852,1853,1854,1855,1856],{"id":1361,"depth":1033,"text":1364},{"id":1372,"depth":1033,"text":1375},{"id":1383,"depth":1033,"text":1386},{"id":1394,"depth":1033,"text":1397},{"id":1405,"depth":1033,"text":1408},{"id":1416,"depth":1027,"text":1419},{"id":1468,"depth":1027,"text":1471},{"id":1545,"depth":1027,"text":1548},{"id":1599,"depth":1027,"text":1602},{"id":1688,"depth":1027,"text":1691},{"id":1824,"depth":1027,"text":1827},"content:blog:how-to-run-an-incentivized-testnet.md","blog/how-to-run-an-incentivized-testnet.md","blog/how-to-run-an-incentivized-testnet",{"_path":1867,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":1868,"description":1869,"date":1870,"author":11,"category":12,"tags":1871,"keywords":1875,"image":1881,"readTime":25,"body":1882,"_type":1048,"_id":2624,"_source":1050,"_file":2625,"_stem":2626,"_extension":1053},"/blog/ecosystem-grants-vs-vc-funding-token-projects","Ecosystem Grants vs VC Funding: Which Should a Token Project Choose?","Ecosystem grants vs VC funding for token projects: dilution, token terms, timelines, control and launch impact compared, plus a framework for picking the right mix.","2026-10-26",[1872,1873,1874,15],"fundraising","ecosystem grants","venture capital",[1876,1877,1878,1879,1880],"ecosystem grants vs vc funding","web3 ecosystem grants","crypto grants for startups","blockchain grant programs","non-dilutive crypto funding","/assets/images/blog/ecosystem-grants-vs-vc-funding-token-projects.jpg",{"type":27,"children":1883,"toc":2607},[1884,1889,1895,1900,1905,1958,1963,1969,1982,1986,2047,2053,2260,2266,2272,2277,2283,2288,2294,2306,2312,2317,2323,2328,2338,2348,2366,2376,2386,2392,2435,2441,2446,2499,2505,2510,2577,2583,2588],{"type":30,"tag":31,"props":1885,"children":1886},{},[1887],{"type":35,"value":1888},"Ecosystem grants and VC funding solve different problems. A grant from a blockchain foundation or protocol treasury is usually non-dilutive money paid against milestones, in exchange for building something that benefits that ecosystem. VC funding is a larger, faster cheque in exchange for equity, tokens or both, with an investor who expects a return and will eventually hold supply that unlocks into your market. For most token projects the right answer is not one or the other but a sequence: grants to prove the product cheaply, then venture capital once you know what you are scaling. This guide compares the two honestly and gives you a framework for choosing.",{"type":30,"tag":52,"props":1890,"children":1892},{"id":1891},"how-ecosystem-grants-work",[1893],{"type":35,"value":1894},"How Ecosystem Grants Work",{"type":30,"tag":31,"props":1896,"children":1897},{},[1898],{"type":35,"value":1899},"Most major layer-1 and layer-2 networks, and many large DeFi protocols, run grant programmes funded from a foundation or DAO treasury. Their goal is ecosystem growth: more applications, more users, more developer tooling on their chain. The money is a means to that end.",{"type":30,"tag":31,"props":1901,"children":1902},{},[1903],{"type":35,"value":1904},"Typical characteristics:",{"type":30,"tag":194,"props":1906,"children":1907},{},[1908,1918,1928,1938,1948],{"type":30,"tag":200,"props":1909,"children":1910},{},[1911,1916],{"type":30,"tag":861,"props":1912,"children":1913},{},[1914],{"type":35,"value":1915},"Non-dilutive.",{"type":35,"value":1917}," The grantor usually takes no equity and no token allocation, although some programmes ask for a commitment to deploy on their chain or to open-source the work.",{"type":30,"tag":200,"props":1919,"children":1920},{},[1921,1926],{"type":30,"tag":861,"props":1922,"children":1923},{},[1924],{"type":35,"value":1925},"Milestone-based.",{"type":35,"value":1927}," Funds are commonly released in tranches as you hit agreed deliverables, not upfront.",{"type":30,"tag":200,"props":1929,"children":1930},{},[1931,1936],{"type":30,"tag":861,"props":1932,"children":1933},{},[1934],{"type":35,"value":1935},"Paid in the ecosystem's token or stablecoins.",{"type":35,"value":1937}," If paid in the native token, the real value of the grant moves with that token's price between award and sale.",{"type":30,"tag":200,"props":1939,"children":1940},{},[1941,1946],{"type":30,"tag":861,"props":1942,"children":1943},{},[1944],{"type":35,"value":1945},"Public.",{"type":35,"value":1947}," Many grant applications, reviews and milestone reports are visible to the community.",{"type":30,"tag":200,"props":1949,"children":1950},{},[1951,1956],{"type":30,"tag":861,"props":1952,"children":1953},{},[1954],{"type":35,"value":1955},"Scoped.",{"type":35,"value":1957}," Grants fund a defined piece of work, such as an integration, a tool or a deployment, rather than general company runway.",{"type":30,"tag":31,"props":1959,"children":1960},{},[1961],{"type":35,"value":1962},"Grant sizes vary widely between programmes and change over time, so check each programme's current published ranges rather than relying on what another team received a year ago.",{"type":30,"tag":52,"props":1964,"children":1966},{"id":1965},"how-vc-funding-works-for-token-projects",[1967],{"type":35,"value":1968},"How VC Funding Works for Token Projects",{"type":30,"tag":31,"props":1970,"children":1971},{},[1972,1974,1980],{"type":35,"value":1973},"Crypto venture funds invest through equity, token instruments such as a SAFT or token warrant, or a combination. We compare those instruments in ",{"type":30,"tag":43,"props":1975,"children":1977},{"href":1976},"/blog/saft-vs-token-warrant",[1978],{"type":35,"value":1979},"SAFT vs token warrant",{"type":35,"value":1981},". The investor receives a claim on future tokens, usually subject to a cliff and vesting schedule, and often equity rights as well.",{"type":30,"tag":31,"props":1983,"children":1984},{},[1985],{"type":35,"value":1904},{"type":30,"tag":194,"props":1987,"children":1988},{},[1989,1999,2009,2019,2029],{"type":30,"tag":200,"props":1990,"children":1991},{},[1992,1997],{"type":30,"tag":861,"props":1993,"children":1994},{},[1995],{"type":35,"value":1996},"Dilutive.",{"type":35,"value":1998}," You give up a share of the company, the token supply, or both.",{"type":30,"tag":200,"props":2000,"children":2001},{},[2002,2007],{"type":30,"tag":861,"props":2003,"children":2004},{},[2005],{"type":35,"value":2006},"Larger and flexible.",{"type":35,"value":2008}," VC money can fund general runway: hiring, audits, legal, marketing and listing costs.",{"type":30,"tag":200,"props":2010,"children":2011},{},[2012,2017],{"type":30,"tag":861,"props":2013,"children":2014},{},[2015],{"type":35,"value":2016},"Faster to deploy once signed.",{"type":35,"value":2018}," Funds usually arrive at close rather than in milestone tranches.",{"type":30,"tag":200,"props":2020,"children":2021},{},[2022,2027],{"type":30,"tag":861,"props":2023,"children":2024},{},[2025],{"type":35,"value":2026},"Comes with supply overhang.",{"type":35,"value":2028}," Investor tokens unlock into your market on a schedule. This is the single biggest long-term difference from grants.",{"type":30,"tag":200,"props":2030,"children":2031},{},[2032,2037,2039,2045],{"type":30,"tag":861,"props":2033,"children":2034},{},[2035],{"type":35,"value":2036},"Comes with a relationship.",{"type":35,"value":2038}," A good fund helps with hiring, exchanges and follow-on capital. A poor one adds pressure and little else. Our ",{"type":30,"tag":43,"props":2040,"children":2042},{"href":2041},"/blog/how-to-choose-a-crypto-vc-fund",[2043],{"type":35,"value":2044},"guide to choosing a crypto VC fund",{"type":35,"value":2046}," covers how to tell them apart.",{"type":30,"tag":52,"props":2048,"children":2050},{"id":2049},"ecosystem-grants-vs-vc-funding-side-by-side",[2051],{"type":35,"value":2052},"Ecosystem Grants vs VC Funding: Side-by-Side",{"type":30,"tag":64,"props":2054,"children":2055},{},[2056,2077],{"type":30,"tag":68,"props":2057,"children":2058},{},[2059],{"type":30,"tag":72,"props":2060,"children":2061},{},[2062,2067,2072],{"type":30,"tag":76,"props":2063,"children":2064},{},[2065],{"type":35,"value":2066},"Factor",{"type":30,"tag":76,"props":2068,"children":2069},{},[2070],{"type":35,"value":2071},"Ecosystem grants",{"type":30,"tag":76,"props":2073,"children":2074},{},[2075],{"type":35,"value":2076},"VC funding",{"type":30,"tag":97,"props":2078,"children":2079},{},[2080,2098,2116,2134,2152,2170,2188,2206,2224,2242],{"type":30,"tag":72,"props":2081,"children":2082},{},[2083,2088,2093],{"type":30,"tag":104,"props":2084,"children":2085},{},[2086],{"type":35,"value":2087},"Dilution",{"type":30,"tag":104,"props":2089,"children":2090},{},[2091],{"type":35,"value":2092},"Usually none",{"type":30,"tag":104,"props":2094,"children":2095},{},[2096],{"type":35,"value":2097},"Equity and/or token allocation",{"type":30,"tag":72,"props":2099,"children":2100},{},[2101,2106,2111],{"type":30,"tag":104,"props":2102,"children":2103},{},[2104],{"type":35,"value":2105},"Typical use",{"type":30,"tag":104,"props":2107,"children":2108},{},[2109],{"type":35,"value":2110},"Specific deliverables on one ecosystem",{"type":30,"tag":104,"props":2112,"children":2113},{},[2114],{"type":35,"value":2115},"General runway and growth",{"type":30,"tag":72,"props":2117,"children":2118},{},[2119,2124,2129],{"type":30,"tag":104,"props":2120,"children":2121},{},[2122],{"type":35,"value":2123},"Payment timing",{"type":30,"tag":104,"props":2125,"children":2126},{},[2127],{"type":35,"value":2128},"Milestone tranches",{"type":30,"tag":104,"props":2130,"children":2131},{},[2132],{"type":35,"value":2133},"At close, sometimes tranched",{"type":30,"tag":72,"props":2135,"children":2136},{},[2137,2142,2147],{"type":30,"tag":104,"props":2138,"children":2139},{},[2140],{"type":35,"value":2141},"Currency",{"type":30,"tag":104,"props":2143,"children":2144},{},[2145],{"type":35,"value":2146},"Often the grantor's native token or stablecoins",{"type":30,"tag":104,"props":2148,"children":2149},{},[2150],{"type":35,"value":2151},"Usually stablecoins or fiat",{"type":30,"tag":72,"props":2153,"children":2154},{},[2155,2160,2165],{"type":30,"tag":104,"props":2156,"children":2157},{},[2158],{"type":35,"value":2159},"Future sell pressure",{"type":30,"tag":104,"props":2161,"children":2162},{},[2163],{"type":35,"value":2164},"None from the grantor",{"type":30,"tag":104,"props":2166,"children":2167},{},[2168],{"type":35,"value":2169},"Investor unlocks after cliff",{"type":30,"tag":72,"props":2171,"children":2172},{},[2173,2178,2183],{"type":30,"tag":104,"props":2174,"children":2175},{},[2176],{"type":35,"value":2177},"Control",{"type":30,"tag":104,"props":2179,"children":2180},{},[2181],{"type":35,"value":2182},"Grantor shapes scope, not company decisions",{"type":30,"tag":104,"props":2184,"children":2185},{},[2186],{"type":35,"value":2187},"Board seats, information rights, protective provisions are common",{"type":30,"tag":72,"props":2189,"children":2190},{},[2191,2196,2201],{"type":30,"tag":104,"props":2192,"children":2193},{},[2194],{"type":35,"value":2195},"Chain commitment",{"type":30,"tag":104,"props":2197,"children":2198},{},[2199],{"type":35,"value":2200},"Often expected",{"type":30,"tag":104,"props":2202,"children":2203},{},[2204],{"type":35,"value":2205},"Not tied to a chain",{"type":30,"tag":72,"props":2207,"children":2208},{},[2209,2214,2219],{"type":30,"tag":104,"props":2210,"children":2211},{},[2212],{"type":35,"value":2213},"Signalling value",{"type":30,"tag":104,"props":2215,"children":2216},{},[2217],{"type":35,"value":2218},"Shows ecosystem endorsement",{"type":30,"tag":104,"props":2220,"children":2221},{},[2222],{"type":35,"value":2223},"Shows investor conviction; strong funds help listings and hiring",{"type":30,"tag":72,"props":2225,"children":2226},{},[2227,2232,2237],{"type":30,"tag":104,"props":2228,"children":2229},{},[2230],{"type":35,"value":2231},"Time and effort",{"type":30,"tag":104,"props":2233,"children":2234},{},[2235],{"type":35,"value":2236},"Application, review, milestone reporting",{"type":30,"tag":104,"props":2238,"children":2239},{},[2240],{"type":35,"value":2241},"Pitching, diligence, legal negotiation",{"type":30,"tag":72,"props":2243,"children":2244},{},[2245,2250,2255],{"type":30,"tag":104,"props":2246,"children":2247},{},[2248],{"type":35,"value":2249},"Best for",{"type":30,"tag":104,"props":2251,"children":2252},{},[2253],{"type":35,"value":2254},"Early product, integrations, public goods",{"type":30,"tag":104,"props":2256,"children":2257},{},[2258],{"type":35,"value":2259},"Scaling a proven product, full launch costs",{"type":30,"tag":52,"props":2261,"children":2263},{"id":2262},"where-founders-get-the-trade-off-wrong",[2264],{"type":35,"value":2265},"Where Founders Get the Trade-off Wrong",{"type":30,"tag":187,"props":2267,"children":2269},{"id":2268},"treating-grant-money-as-free",[2270],{"type":35,"value":2271},"Treating grant money as free",{"type":30,"tag":31,"props":2273,"children":2274},{},[2275],{"type":35,"value":2276},"Grants are non-dilutive, not free. They cost time in applications and milestone reports, and they often lock you into building on one chain or shipping a specific feature on someone else's timeline. If the milestone does not match your roadmap, you end up building the grantor's priorities instead of yours.",{"type":30,"tag":187,"props":2278,"children":2280},{"id":2279},"ignoring-token-denominated-grant-risk",[2281],{"type":35,"value":2282},"Ignoring token-denominated grant risk",{"type":30,"tag":31,"props":2284,"children":2285},{},[2286],{"type":35,"value":2287},"A grant paid in a volatile native token can lose a meaningful part of its value before you convert it. Agree internally on a treasury policy for grant proceeds before they arrive: what share to convert to stablecoins on receipt, and who approves it. Grant proceeds should follow the same treasury rules as the rest of your reserves.",{"type":30,"tag":187,"props":2289,"children":2291},{"id":2290},"raising-vc-without-modelling-the-unlocks",[2292],{"type":35,"value":2293},"Raising VC without modelling the unlocks",{"type":30,"tag":31,"props":2295,"children":2296},{},[2297,2299,2305],{"type":35,"value":2298},"A VC round sets your future supply calendar. Founders often negotiate valuation hard and accept vesting terms without checking what those unlocks mean against realistic trading depth after launch. Every investor allocation should be modelled against expected liquidity before signing, and the schedule should be enforced on-chain. We cover tooling options in our companion piece on ",{"type":30,"tag":43,"props":2300,"children":2302},{"href":2301},"/blog/best-token-vesting-platforms",[2303],{"type":35,"value":2304},"the best token vesting platforms",{"type":35,"value":501},{"type":30,"tag":187,"props":2307,"children":2309},{"id":2308},"using-a-grant-where-you-need-runway",[2310],{"type":35,"value":2311},"Using a grant where you need runway",{"type":30,"tag":31,"props":2313,"children":2314},{},[2315],{"type":35,"value":2316},"Grants rarely cover salaries for a full team over the 12 to 24 months a serious token launch can take. Teams that try to run on grants alone tend to under-invest in security audits, legal work and liquidity planning, which are exactly the costs that do not fit neatly into a grant milestone.",{"type":30,"tag":52,"props":2318,"children":2320},{"id":2319},"a-decision-framework-which-should-you-pick",[2321],{"type":35,"value":2322},"A Decision Framework: Which Should You Pick?",{"type":30,"tag":31,"props":2324,"children":2325},{},[2326],{"type":35,"value":2327},"Answer these five questions in order.",{"type":30,"tag":31,"props":2329,"children":2330},{},[2331,2336],{"type":30,"tag":861,"props":2332,"children":2333},{},[2334],{"type":35,"value":2335},"1. Is the product proven?",{"type":35,"value":2337}," If you are still testing whether users want it, grants are the cheaper way to find out. Raising venture capital before product fit sets a valuation and an unlock schedule you may later regret.",{"type":30,"tag":31,"props":2339,"children":2340},{},[2341,2346],{"type":30,"tag":861,"props":2342,"children":2343},{},[2344],{"type":35,"value":2345},"2. Are you committed to one ecosystem?",{"type":35,"value":2347}," If your product only makes sense on one chain, that chain's grant programme is a natural fit and often comes with distribution: co-marketing, introductions and visibility to its users. If you plan to be multichain from day one, a single-ecosystem grant can pull you in a direction you do not want.",{"type":30,"tag":31,"props":2349,"children":2350},{},[2351,2356,2358,2364],{"type":30,"tag":861,"props":2352,"children":2353},{},[2354],{"type":35,"value":2355},"3. What does the money need to pay for?",{"type":35,"value":2357}," Map your launch budget line by line. Development and integrations fit grants. Audits, legal structuring, exchange listings, market making and marketing usually need flexible capital. Our breakdown of ",{"type":30,"tag":43,"props":2359,"children":2361},{"href":2360},"/blog/how-much-does-it-cost-to-launch-a-token",[2362],{"type":35,"value":2363},"how much it costs to launch a token",{"type":35,"value":2365}," is a good starting point.",{"type":30,"tag":31,"props":2367,"children":2368},{},[2369,2374],{"type":30,"tag":861,"props":2370,"children":2371},{},[2372],{"type":35,"value":2373},"4. How much future sell pressure can your market absorb?",{"type":35,"value":2375}," Every investor token is future supply. If your expected float and liquidity at launch are modest, a large VC allocation unlocking within the first year is a real risk to price stability.",{"type":30,"tag":31,"props":2377,"children":2378},{},[2379,2384],{"type":30,"tag":861,"props":2380,"children":2381},{},[2382],{"type":35,"value":2383},"5. Do you need what a fund brings beyond money?",{"type":35,"value":2385}," Hiring networks, exchange introductions and follow-on capital have real value. If you do not need them, you are paying for them in dilution anyway.",{"type":30,"tag":187,"props":2387,"children":2389},{"id":2388},"typical-outcomes",[2390],{"type":35,"value":2391},"Typical outcomes",{"type":30,"tag":194,"props":2393,"children":2394},{},[2395,2405,2415,2425],{"type":30,"tag":200,"props":2396,"children":2397},{},[2398,2403],{"type":30,"tag":861,"props":2399,"children":2400},{},[2401],{"type":35,"value":2402},"Pre-product, single ecosystem:",{"type":35,"value":2404}," grants first, small angel round if needed.",{"type":30,"tag":200,"props":2406,"children":2407},{},[2408,2413],{"type":30,"tag":861,"props":2409,"children":2410},{},[2411],{"type":35,"value":2412},"Live product, early traction, planning a TGE:",{"type":35,"value":2414}," grants for integrations plus a seed or strategic round for launch costs.",{"type":30,"tag":200,"props":2416,"children":2417},{},[2418,2423],{"type":30,"tag":861,"props":2419,"children":2420},{},[2421],{"type":35,"value":2422},"Proven product, scaling across chains:",{"type":35,"value":2424}," VC funding as the primary source, grants opportunistically for specific deployments.",{"type":30,"tag":200,"props":2426,"children":2427},{},[2428,2433],{"type":30,"tag":861,"props":2429,"children":2430},{},[2431],{"type":35,"value":2432},"Public-goods or infrastructure tooling:",{"type":35,"value":2434}," grants, possibly indefinitely, with VC only if a commercial model emerges.",{"type":30,"tag":52,"props":2436,"children":2438},{"id":2437},"how-to-combine-grants-and-vc-without-conflicts",[2439],{"type":35,"value":2440},"How to Combine Grants and VC Without Conflicts",{"type":30,"tag":31,"props":2442,"children":2443},{},[2444],{"type":35,"value":2445},"Many projects do both. A few rules keep it clean:",{"type":30,"tag":194,"props":2447,"children":2448},{},[2449,2459,2469,2479,2489],{"type":30,"tag":200,"props":2450,"children":2451},{},[2452,2457],{"type":30,"tag":861,"props":2453,"children":2454},{},[2455],{"type":35,"value":2456},"Disclose grants to investors.",{"type":35,"value":2458}," Grant obligations such as chain exclusivity or open-source requirements can affect your business model. Investors will find them in diligence anyway.",{"type":30,"tag":200,"props":2460,"children":2461},{},[2462,2467],{"type":30,"tag":861,"props":2463,"children":2464},{},[2465],{"type":35,"value":2466},"Keep grant deliverables on your roadmap.",{"type":35,"value":2468}," Only accept milestones you would build regardless.",{"type":30,"tag":200,"props":2470,"children":2471},{},[2472,2477],{"type":30,"tag":861,"props":2473,"children":2474},{},[2475],{"type":35,"value":2476},"Separate the accounting.",{"type":35,"value":2478}," Track grant funds and venture funds separately so milestone reporting is simple and auditable.",{"type":30,"tag":200,"props":2480,"children":2481},{},[2482,2487],{"type":30,"tag":861,"props":2483,"children":2484},{},[2485],{"type":35,"value":2486},"Sequence the raise after the grant.",{"type":35,"value":2488}," A completed grant with public milestone reports is evidence of execution and can strengthen your position in a later round.",{"type":30,"tag":200,"props":2490,"children":2491},{},[2492,2497],{"type":30,"tag":861,"props":2493,"children":2494},{},[2495],{"type":35,"value":2496},"Check for conflicting commitments.",{"type":35,"value":2498}," A grant that expects deployment on one chain and a lead investor pushing another chain is a conflict to resolve before signing either.",{"type":30,"tag":52,"props":2500,"children":2502},{"id":2501},"pre-application-checklist",[2503],{"type":35,"value":2504},"Pre-Application Checklist",{"type":30,"tag":31,"props":2506,"children":2507},{},[2508],{"type":35,"value":2509},"Before you apply for a grant or open a round, confirm:",{"type":30,"tag":194,"props":2511,"children":2513},{"className":2512},[197],[2514,2523,2532,2541,2550,2559,2568],{"type":30,"tag":200,"props":2515,"children":2517},{"className":2516},[203],[2518,2521],{"type":30,"tag":206,"props":2519,"children":2520},{"disabled":208,"type":209},[],{"type":35,"value":2522}," Your launch budget is mapped line by line, with each line tagged as grant-fundable or not",{"type":30,"tag":200,"props":2524,"children":2526},{"className":2525},[203],[2527,2530],{"type":30,"tag":206,"props":2528,"children":2529},{"disabled":208,"type":209},[],{"type":35,"value":2531}," You know which ecosystems you will deploy on in the next 12 months",{"type":30,"tag":200,"props":2533,"children":2535},{"className":2534},[203],[2536,2539],{"type":30,"tag":206,"props":2537,"children":2538},{"disabled":208,"type":209},[],{"type":35,"value":2540}," You have a treasury policy for token-denominated proceeds",{"type":30,"tag":200,"props":2542,"children":2544},{"className":2543},[203],[2545,2548],{"type":30,"tag":206,"props":2546,"children":2547},{"disabled":208,"type":209},[],{"type":35,"value":2549}," Investor allocations and vesting have been modelled against expected launch liquidity",{"type":30,"tag":200,"props":2551,"children":2553},{"className":2552},[203],[2554,2557],{"type":30,"tag":206,"props":2555,"children":2556},{"disabled":208,"type":209},[],{"type":35,"value":2558}," Legal counsel has reviewed the instrument, the grant agreement and any chain commitments",{"type":30,"tag":200,"props":2560,"children":2562},{"className":2561},[203],[2563,2566],{"type":30,"tag":206,"props":2564,"children":2565},{"disabled":208,"type":209},[],{"type":35,"value":2567}," Grant milestones match work already on your roadmap",{"type":30,"tag":200,"props":2569,"children":2571},{"className":2570},[203],[2572,2575],{"type":30,"tag":206,"props":2573,"children":2574},{"disabled":208,"type":209},[],{"type":35,"value":2576}," You can explain to investors why you took, or did not take, ecosystem grants",{"type":30,"tag":52,"props":2578,"children":2580},{"id":2579},"funding-decisions-become-market-structure",[2581],{"type":35,"value":2582},"Funding Decisions Become Market Structure",{"type":30,"tag":31,"props":2584,"children":2585},{},[2586],{"type":35,"value":2587},"The choice between grants and venture capital is not only a fundraising question. It decides how much supply will unlock into your market, when, and who holds it. A project funded mostly by grants launches with a simpler cap table and less scheduled sell pressure. A project funded by several VC rounds needs a liquidity plan that absorbs those unlocks without damaging price stability.",{"type":30,"tag":31,"props":2589,"children":2590},{},[2591,2593,2598,2600,2605],{"type":35,"value":2592},"At Fibonacci Capital we work with token teams at the point where funding terms meet the order book: modelling unlocks against depth, planning launch liquidity, and running market making after the TGE. If you are deciding how to fund your launch and want to understand what each option means for trading after listing, our ",{"type":30,"tag":43,"props":2594,"children":2595},{"href":1021},[2596],{"type":35,"value":2597},"pre-TGE programme",{"type":35,"value":2599}," is built for exactly that stage. ",{"type":30,"tag":43,"props":2601,"children":2602},{"href":1021},[2603],{"type":35,"value":2604},"Get in touch",{"type":35,"value":2606}," to talk it through.",{"title":7,"searchDepth":1027,"depth":1027,"links":2608},[2609,2610,2611,2612,2618,2621,2622,2623],{"id":1891,"depth":1027,"text":1894},{"id":1965,"depth":1027,"text":1968},{"id":2049,"depth":1027,"text":2052},{"id":2262,"depth":1027,"text":2265,"children":2613},[2614,2615,2616,2617],{"id":2268,"depth":1033,"text":2271},{"id":2279,"depth":1033,"text":2282},{"id":2290,"depth":1033,"text":2293},{"id":2308,"depth":1033,"text":2311},{"id":2319,"depth":1027,"text":2322,"children":2619},[2620],{"id":2388,"depth":1033,"text":2391},{"id":2437,"depth":1027,"text":2440},{"id":2501,"depth":1027,"text":2504},{"id":2579,"depth":1027,"text":2582},"content:blog:ecosystem-grants-vs-vc-funding-token-projects.md","blog/ecosystem-grants-vs-vc-funding-token-projects.md","blog/ecosystem-grants-vs-vc-funding-token-projects",{"_path":2628,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":2629,"description":2630,"date":2631,"author":11,"category":12,"tags":2632,"keywords":2637,"image":2642,"readTime":25,"body":2643,"_type":1048,"_id":3576,"_source":1050,"_file":3577,"_stem":3578,"_extension":1053},"/blog/token-migration-checklist-contract-chain-swap","Token Migration Checklist: How to Swap Contracts or Move Chains Safely","A token migration checklist for projects moving to a new contract or chain: planning, exchange coordination, liquidity, communication and post-swap monitoring.","2026-10-22",[2633,2634,2635,2636],"token migration","token swap","contract upgrade","multichain",[2633,2638,2639,2640,2641],"token swap new contract","how to migrate a token to a new chain","token migration checklist","erc20 token migration exchange","/assets/images/blog/token-migration-checklist-contract-chain-swap.jpg",{"type":27,"children":2644,"toc":3561},[2645,2650,2656,2661,2709,2721,2727,2828,2834,2840,2926,2932,2963,2969,2974,3090,3096,3101,3207,3213,3218,3320,3326,3382,3388,3476,3480,3543,3549],{"type":30,"tag":31,"props":2646,"children":2647},{},[2648],{"type":35,"value":2649},"A token migration is the process of moving holders from an old token contract to a new one, either on the same chain (a contract swap) or on a different chain. To do it safely, you need to settle why you are migrating, design a one-way swap that holders can actually use, coordinate every exchange and liquidity venue before the swap opens, communicate through official channels only, and monitor the migration until the old token is effectively dead. This checklist covers each stage in order, with the mistakes that most often turn a routine upgrade into a support and security headache.",{"type":30,"tag":52,"props":2651,"children":2653},{"id":2652},"should-you-migrate-at-all",[2654],{"type":35,"value":2655},"Should You Migrate at All?",{"type":30,"tag":31,"props":2657,"children":2658},{},[2659],{"type":35,"value":2660},"Migration is expensive and risky: it asks every holder to act, it gives scammers a ready-made pretext, and it fragments liquidity for as long as two tokens exist. Do it only when the reason is strong. Common legitimate reasons:",{"type":30,"tag":194,"props":2662,"children":2663},{},[2664,2676,2687,2698],{"type":30,"tag":200,"props":2665,"children":2666},{},[2667,2669,2674],{"type":35,"value":2668},"A ",{"type":30,"tag":861,"props":2670,"children":2671},{},[2672],{"type":35,"value":2673},"critical bug or vulnerability",{"type":35,"value":2675}," in the original contract that cannot be patched.",{"type":30,"tag":200,"props":2677,"children":2678},{},[2679,2680,2685],{"type":35,"value":2668},{"type":30,"tag":861,"props":2681,"children":2682},{},[2683],{"type":35,"value":2684},"tokenomics change",{"type":35,"value":2686}," that the old contract cannot support, such as new mint, burn or vesting logic.",{"type":30,"tag":200,"props":2688,"children":2689},{},[2690,2691,2696],{"type":35,"value":2668},{"type":30,"tag":861,"props":2692,"children":2693},{},[2694],{"type":35,"value":2695},"move to a different chain",{"type":35,"value":2697}," where your users, liquidity or ecosystem support are.",{"type":30,"tag":200,"props":2699,"children":2700},{},[2701,2702,2707],{"type":35,"value":2668},{"type":30,"tag":861,"props":2703,"children":2704},{},[2705],{"type":35,"value":2706},"rebrand or corporate restructuring",{"type":35,"value":2708}," that requires a new token identity.",{"type":30,"tag":31,"props":2710,"children":2711},{},[2712,2714,2720],{"type":35,"value":2713},"If the aim is simply to be available on more chains, a native multichain deployment or a bridge may be better than a full migration. We compare the options in ",{"type":30,"tag":43,"props":2715,"children":2717},{"href":2716},"/blog/multichain-token-deployment-native-vs-bridged",[2718],{"type":35,"value":2719},"multichain token deployment: native vs bridged",{"type":35,"value":501},{"type":30,"tag":52,"props":2722,"children":2724},{"id":2723},"phase-1-planning",[2725],{"type":35,"value":2726},"Phase 1: Planning",{"type":30,"tag":194,"props":2728,"children":2730},{"className":2729},[197],[2731,2740,2756,2772,2787,2803,2819],{"type":30,"tag":200,"props":2732,"children":2734},{"className":2733},[203],[2735,2738],{"type":30,"tag":206,"props":2736,"children":2737},{"disabled":208,"type":209},[],{"type":35,"value":2739}," Write down the reason for migration and the success criteria (for example, a target percentage of supply migrated by a given date).",{"type":30,"tag":200,"props":2741,"children":2743},{"className":2742},[203],[2744,2747,2749,2754],{"type":30,"tag":206,"props":2745,"children":2746},{"disabled":208,"type":209},[],{"type":35,"value":2748}," Decide the ",{"type":30,"tag":861,"props":2750,"children":2751},{},[2752],{"type":35,"value":2753},"ratio",{"type":35,"value":2755},". One-to-one is simplest and least confusing. Any other ratio needs a clear explanation and affects every price, balance and listing field.",{"type":30,"tag":200,"props":2757,"children":2759},{"className":2758},[203],[2760,2763,2765,2770],{"type":30,"tag":206,"props":2761,"children":2762},{"disabled":208,"type":209},[],{"type":35,"value":2764}," Decide whether the supply is ",{"type":30,"tag":861,"props":2766,"children":2767},{},[2768],{"type":35,"value":2769},"fixed",{"type":35,"value":2771}," or whether new tokens can be minted. A migration is not an opportunity to quietly change supply; any change should be public and explained.",{"type":30,"tag":200,"props":2773,"children":2775},{"className":2774},[203],[2776,2779,2780,2785],{"type":30,"tag":206,"props":2777,"children":2778},{"disabled":208,"type":209},[],{"type":35,"value":2748},{"type":30,"tag":861,"props":2781,"children":2782},{},[2783],{"type":35,"value":2784},"deadline",{"type":35,"value":2786}," policy: a hard end, a long open window, or an indefinite swap. Open-ended swaps keep a standing attack surface alive.",{"type":30,"tag":200,"props":2788,"children":2790},{"className":2789},[203],[2791,2794,2796,2801],{"type":30,"tag":206,"props":2792,"children":2793},{"disabled":208,"type":209},[],{"type":35,"value":2795}," Decide what happens to ",{"type":30,"tag":861,"props":2797,"children":2798},{},[2799],{"type":35,"value":2800},"locked and vested tokens",{"type":35,"value":2802},". Vesting contracts, staking contracts and investor allocations all need a migration path of their own.",{"type":30,"tag":200,"props":2804,"children":2806},{"className":2805},[203],[2807,2810,2812,2817],{"type":30,"tag":206,"props":2808,"children":2809},{"disabled":208,"type":209},[],{"type":35,"value":2811}," Map ",{"type":30,"tag":861,"props":2813,"children":2814},{},[2815],{"type":35,"value":2816},"every place the old token lives",{"type":35,"value":2818},": exchanges, DEX pools, lending markets, bridges, custody providers, multisigs, staking contracts and vesting contracts.",{"type":30,"tag":200,"props":2820,"children":2822},{"className":2821},[203],[2823,2826],{"type":30,"tag":206,"props":2824,"children":2825},{"disabled":208,"type":209},[],{"type":35,"value":2827}," Assign an owner for each workstream and agree who has authority to pause the process.",{"type":30,"tag":52,"props":2829,"children":2831},{"id":2830},"phase-2-building-the-swap",[2832],{"type":35,"value":2833},"Phase 2: Building the Swap",{"type":30,"tag":187,"props":2835,"children":2837},{"id":2836},"contract-design",[2838],{"type":35,"value":2839},"Contract design",{"type":30,"tag":194,"props":2841,"children":2843},{"className":2842},[197],[2844,2868,2877,2893,2917],{"type":30,"tag":200,"props":2845,"children":2847},{"className":2846},[203],[2848,2851,2853,2858,2860,2866],{"type":30,"tag":206,"props":2849,"children":2850},{"disabled":208,"type":209},[],{"type":35,"value":2852}," The new token contract is ",{"type":30,"tag":861,"props":2854,"children":2855},{},[2856],{"type":35,"value":2857},"audited",{"type":35,"value":2859}," before any holders are asked to touch it. See ",{"type":30,"tag":43,"props":2861,"children":2863},{"href":2862},"/blog/smart-contract-audits-before-launch",[2864],{"type":35,"value":2865},"smart contract audits before launch",{"type":35,"value":2867}," for scoping.",{"type":30,"tag":200,"props":2869,"children":2871},{"className":2870},[203],[2872,2875],{"type":30,"tag":206,"props":2873,"children":2874},{"disabled":208,"type":209},[],{"type":35,"value":2876}," The swap contract is audited as a separate component. It holds or burns value and is a high-value target.",{"type":30,"tag":200,"props":2878,"children":2880},{"className":2879},[203],[2881,2884,2886,2891],{"type":30,"tag":206,"props":2882,"children":2883},{"disabled":208,"type":209},[],{"type":35,"value":2885}," The swap is ",{"type":30,"tag":861,"props":2887,"children":2888},{},[2889],{"type":35,"value":2890},"one-way",{"type":35,"value":2892}," and handles the old token in a defined way (burn, lock or escrow). Be explicit about which.",{"type":30,"tag":200,"props":2894,"children":2896},{"className":2895},[203],[2897,2900,2902,2907,2909,2915],{"type":30,"tag":206,"props":2898,"children":2899},{"disabled":208,"type":209},[],{"type":35,"value":2901}," Admin keys for the swap contract sit behind a ",{"type":30,"tag":861,"props":2903,"children":2904},{},[2905],{"type":35,"value":2906},"multisig with sensible thresholds",{"type":35,"value":2908},", and the ability to pause is documented. ",{"type":30,"tag":43,"props":2910,"children":2912},{"href":2911},"/blog/crypto-custody-solutions-for-token-teams",[2913],{"type":35,"value":2914},"Custody options for token teams",{"type":35,"value":2916}," covers how to set this up.",{"type":30,"tag":200,"props":2918,"children":2920},{"className":2919},[203],[2921,2924],{"type":30,"tag":206,"props":2922,"children":2923},{"disabled":208,"type":209},[],{"type":35,"value":2925}," Test the full flow on a testnet, including edge cases: tiny balances, contract wallets, tokens held in staking or vesting.",{"type":30,"tag":187,"props":2927,"children":2929},{"id":2928},"supply-reconciliation",[2930],{"type":35,"value":2931},"Supply reconciliation",{"type":30,"tag":194,"props":2933,"children":2935},{"className":2934},[197],[2936,2945,2954],{"type":30,"tag":200,"props":2937,"children":2939},{"className":2938},[203],[2940,2943],{"type":30,"tag":206,"props":2941,"children":2942},{"disabled":208,"type":209},[],{"type":35,"value":2944}," Reconcile the old token's total supply against the new token's minted or reserved supply, and publish the numbers.",{"type":30,"tag":200,"props":2946,"children":2948},{"className":2947},[203],[2949,2952],{"type":30,"tag":206,"props":2950,"children":2951},{"disabled":208,"type":209},[],{"type":35,"value":2953}," Decide how unmigrated tokens are treated and whether the new supply is held in reserve for them.",{"type":30,"tag":200,"props":2955,"children":2957},{"className":2956},[203],[2958,2961],{"type":30,"tag":206,"props":2959,"children":2960},{"disabled":208,"type":209},[],{"type":35,"value":2962}," Keep a record of burned or locked old tokens so that circulating supply remains verifiable at every point.",{"type":30,"tag":52,"props":2964,"children":2966},{"id":2965},"phase-3-exchange-and-venue-coordination",[2967],{"type":35,"value":2968},"Phase 3: Exchange and Venue Coordination",{"type":30,"tag":31,"props":2970,"children":2971},{},[2972],{"type":35,"value":2973},"This is the stage that most often goes wrong, because the project controls the contract but not the venues.",{"type":30,"tag":194,"props":2975,"children":2977},{"className":2976},[197],[2978,2994,3003,3019,3035,3058,3074],{"type":30,"tag":200,"props":2979,"children":2981},{"className":2980},[203],[2982,2985,2987,2992],{"type":30,"tag":206,"props":2983,"children":2984},{"disabled":208,"type":209},[],{"type":35,"value":2986}," Contact ",{"type":30,"tag":861,"props":2988,"children":2989},{},[2990],{"type":35,"value":2991},"every exchange",{"type":35,"value":2993}," listing the token, well before the announcement. Give them contract addresses, the migration plan and a timeline.",{"type":30,"tag":200,"props":2995,"children":2997},{"className":2996},[203],[2998,3001],{"type":30,"tag":206,"props":2999,"children":3000},{"disabled":208,"type":209},[],{"type":35,"value":3002}," Ask each exchange how it will handle the swap: will it perform the swap on behalf of users, suspend deposits and withdrawals, or require users to withdraw and swap themselves? Procedures differ, and some require notice periods.",{"type":30,"tag":200,"props":3004,"children":3006},{"className":3005},[203],[3007,3010,3012,3017],{"type":30,"tag":206,"props":3008,"children":3009},{"disabled":208,"type":209},[],{"type":35,"value":3011}," Agree the ",{"type":30,"tag":861,"props":3013,"children":3014},{},[3015],{"type":35,"value":3016},"trading and deposit/withdrawal suspension windows",{"type":35,"value":3018}," in writing, and ensure they match the announcement.",{"type":30,"tag":200,"props":3020,"children":3022},{"className":3021},[203],[3023,3026,3028,3033],{"type":30,"tag":206,"props":3024,"children":3025},{"disabled":208,"type":209},[],{"type":35,"value":3027}," Confirm ",{"type":30,"tag":861,"props":3029,"children":3030},{},[3031],{"type":35,"value":3032},"ticker and listing continuity",{"type":35,"value":3034},": does the new token keep the symbol, or will it temporarily trade under a different one?",{"type":30,"tag":200,"props":3036,"children":3038},{"className":3037},[203],[3039,3042,3044,3049,3051,3057],{"type":30,"tag":206,"props":3040,"children":3041},{"disabled":208,"type":209},[],{"type":35,"value":3043}," Update ",{"type":30,"tag":861,"props":3045,"children":3046},{},[3047],{"type":35,"value":3048},"data aggregators and trackers",{"type":35,"value":3050}," with the new contract and supply. The process is similar to the one in ",{"type":30,"tag":43,"props":3052,"children":3054},{"href":3053},"/blog/how-to-get-listed-on-coingecko-and-coinmarketcap",[3055],{"type":35,"value":3056},"how to get listed on CoinGecko and CoinMarketCap",{"type":35,"value":501},{"type":30,"tag":200,"props":3059,"children":3061},{"className":3060},[203],[3062,3065,3067,3072],{"type":30,"tag":206,"props":3063,"children":3064},{"disabled":208,"type":209},[],{"type":35,"value":3066}," Tell your ",{"type":30,"tag":861,"props":3068,"children":3069},{},[3070],{"type":35,"value":3071},"market maker",{"type":35,"value":3073}," early. They hold inventory in the old token and need to know when to swap it, when to pause quoting and when to restart. Build this into the plan rather than discovering it on swap day.",{"type":30,"tag":200,"props":3075,"children":3077},{"className":3076},[203],[3078,3081,3083,3089],{"type":30,"tag":206,"props":3079,"children":3080},{"disabled":208,"type":209},[],{"type":35,"value":3082}," If any exchange refuses or delays the swap, decide in advance how you will handle that venue. Projects that mismanage a migration can end up with a venue that holds a worthless old token, a situation that sometimes ends in a delisting. See ",{"type":30,"tag":43,"props":3084,"children":3086},{"href":3085},"/blog/why-crypto-exchanges-delist-tokens",[3087],{"type":35,"value":3088},"why crypto exchanges delist tokens",{"type":35,"value":501},{"type":30,"tag":52,"props":3091,"children":3093},{"id":3092},"phase-4-liquidity-planning",[3094],{"type":35,"value":3095},"Phase 4: Liquidity Planning",{"type":30,"tag":31,"props":3097,"children":3098},{},[3099],{"type":35,"value":3100},"Migration splits liquidity in two for a while. Plan for it deliberately.",{"type":30,"tag":194,"props":3102,"children":3104},{"className":3103},[197],[3105,3128,3151,3168,3191],{"type":30,"tag":200,"props":3106,"children":3108},{"className":3107},[203],[3109,3112,3114,3119,3121,3126],{"type":30,"tag":206,"props":3110,"children":3111},{"disabled":208,"type":209},[],{"type":35,"value":3113}," Decide when the ",{"type":30,"tag":861,"props":3115,"children":3116},{},[3117],{"type":35,"value":3118},"old DEX pools",{"type":35,"value":3120}," are withdrawn and when the ",{"type":30,"tag":861,"props":3122,"children":3123},{},[3124],{"type":35,"value":3125},"new pools",{"type":35,"value":3127}," are created. Withdrawing too early leaves holders unable to exit; too late keeps the old token tradable and confusing.",{"type":30,"tag":200,"props":3129,"children":3131},{"className":3130},[203],[3132,3135,3137,3141,3143,3149],{"type":30,"tag":206,"props":3133,"children":3134},{"disabled":208,"type":209},[],{"type":35,"value":3136}," Fund the ",{"type":30,"tag":861,"props":3138,"children":3139},{},[3140],{"type":35,"value":3125},{"type":35,"value":3142}," to a depth that matches the old market. The reasoning in ",{"type":30,"tag":43,"props":3144,"children":3146},{"href":3145},"/blog/how-much-liquidity-does-a-token-need-at-launch",[3147],{"type":35,"value":3148},"how much liquidity a token needs at launch",{"type":35,"value":3150}," applies again.",{"type":30,"tag":200,"props":3152,"children":3154},{"className":3153},[203],[3155,3158,3160,3166],{"type":30,"tag":206,"props":3156,"children":3157},{"disabled":208,"type":209},[],{"type":35,"value":3159}," If you own liquidity positions, your migration plan should account for them. ",{"type":30,"tag":43,"props":3161,"children":3163},{"href":3162},"/blog/protocol-owned-liquidity-guide-token-projects",[3164],{"type":35,"value":3165},"Protocol-owned liquidity",{"type":35,"value":3167}," positions need to be removed, swapped and redeployed under your custody controls.",{"type":30,"tag":200,"props":3169,"children":3171},{"className":3170},[203],[3172,3175,3177,3182,3184,3190],{"type":30,"tag":206,"props":3173,"children":3174},{"disabled":208,"type":209},[],{"type":35,"value":3176}," Decide on ",{"type":30,"tag":861,"props":3178,"children":3179},{},[3180],{"type":35,"value":3181},"liquidity locks",{"type":35,"value":3183}," for the new pools and communicate them. See ",{"type":30,"tag":43,"props":3185,"children":3187},{"href":3186},"/blog/how-to-lock-liquidity-token-launch",[3188],{"type":35,"value":3189},"how to lock liquidity at token launch",{"type":35,"value":501},{"type":30,"tag":200,"props":3192,"children":3194},{"className":3193},[203],[3195,3198,3200,3205],{"type":30,"tag":206,"props":3196,"children":3197},{"disabled":208,"type":209},[],{"type":35,"value":3199}," Think through ",{"type":30,"tag":861,"props":3201,"children":3202},{},[3203],{"type":35,"value":3204},"price continuity",{"type":35,"value":3206}," between the old and new tokens. If one trades at a discount to the other during the transition, arbitrageurs will close the gap, but only if the swap is easy and open.",{"type":30,"tag":52,"props":3208,"children":3210},{"id":3209},"phase-5-communication-and-security",[3211],{"type":35,"value":3212},"Phase 5: Communication and Security",{"type":30,"tag":31,"props":3214,"children":3215},{},[3216],{"type":35,"value":3217},"Migrations are a favourite pretext for phishing. Holders are being asked to approve contracts and connect wallets, which is exactly what scammers do.",{"type":30,"tag":194,"props":3219,"children":3221},{"className":3220},[197],[3222,3238,3254,3270,3279,3295,3304],{"type":30,"tag":200,"props":3223,"children":3225},{"className":3224},[203],[3226,3229,3231,3236],{"type":30,"tag":206,"props":3227,"children":3228},{"disabled":208,"type":209},[],{"type":35,"value":3230}," Publish the plan on ",{"type":30,"tag":861,"props":3232,"children":3233},{},[3234],{"type":35,"value":3235},"official channels only",{"type":35,"value":3237}," and pin it. Use one canonical page for contract addresses and swap instructions.",{"type":30,"tag":200,"props":3239,"children":3241},{"className":3240},[203],[3242,3245,3247,3252],{"type":30,"tag":206,"props":3243,"children":3244},{"disabled":208,"type":209},[],{"type":35,"value":3246}," Announce clearly what the project will ",{"type":30,"tag":861,"props":3248,"children":3249},{},[3250],{"type":35,"value":3251},"never",{"type":35,"value":3253}," do: ask for seed phrases, send direct messages with swap links, or run a swap on any site other than the official one.",{"type":30,"tag":200,"props":3255,"children":3257},{"className":3256},[203],[3258,3261,3263,3268],{"type":30,"tag":206,"props":3259,"children":3260},{"disabled":208,"type":209},[],{"type":35,"value":3262}," Prepare a ",{"type":30,"tag":861,"props":3264,"children":3265},{},[3266],{"type":35,"value":3267},"step-by-step guide",{"type":35,"value":3269}," with screenshots for the swap.",{"type":30,"tag":200,"props":3271,"children":3273},{"className":3272},[203],[3274,3277],{"type":30,"tag":206,"props":3275,"children":3276},{"disabled":208,"type":209},[],{"type":35,"value":3278}," Moderate community channels closely during the migration. Remove impersonators and fake support quickly.",{"type":30,"tag":200,"props":3280,"children":3282},{"className":3281},[203],[3283,3286,3288,3293],{"type":30,"tag":206,"props":3284,"children":3285},{"disabled":208,"type":209},[],{"type":35,"value":3287}," Provide a ",{"type":30,"tag":861,"props":3289,"children":3290},{},[3291],{"type":35,"value":3292},"support route",{"type":35,"value":3294}," for holders who hold tokens in exchanges, hardware wallets, or contracts.",{"type":30,"tag":200,"props":3296,"children":3298},{"className":3297},[203],[3299,3302],{"type":30,"tag":206,"props":3300,"children":3301},{"disabled":208,"type":209},[],{"type":35,"value":3303}," Brief your team so that nobody answers questions with improvised information that contradicts the plan.",{"type":30,"tag":200,"props":3305,"children":3307},{"className":3306},[203],[3308,3311,3313,3318],{"type":30,"tag":206,"props":3309,"children":3310},{"disabled":208,"type":209},[],{"type":35,"value":3312}," Consider a ",{"type":30,"tag":861,"props":3314,"children":3315},{},[3316],{"type":35,"value":3317},"staged rollout",{"type":35,"value":3319}," for high-risk holder groups, such as investors with large allocations, so that issues are found early with a smaller group.",{"type":30,"tag":52,"props":3321,"children":3323},{"id":3322},"phase-6-execution",[3324],{"type":35,"value":3325},"Phase 6: Execution",{"type":30,"tag":194,"props":3327,"children":3329},{"className":3328},[197],[3330,3339,3348,3357,3366],{"type":30,"tag":200,"props":3331,"children":3333},{"className":3332},[203],[3334,3337],{"type":30,"tag":206,"props":3335,"children":3336},{"disabled":208,"type":209},[],{"type":35,"value":3338}," Run a final check on addresses, ratios and permissions immediately before launch.",{"type":30,"tag":200,"props":3340,"children":3342},{"className":3341},[203],[3343,3346],{"type":30,"tag":206,"props":3344,"children":3345},{"disabled":208,"type":209},[],{"type":35,"value":3347}," Open the swap at the announced time, with the team monitoring the contract and community channels live.",{"type":30,"tag":200,"props":3349,"children":3351},{"className":3350},[203],[3352,3355],{"type":30,"tag":206,"props":3353,"children":3354},{"disabled":208,"type":209},[],{"type":35,"value":3356}," Verify the first swaps on-chain yourself before encouraging others.",{"type":30,"tag":200,"props":3358,"children":3360},{"className":3359},[203],[3361,3364],{"type":30,"tag":206,"props":3362,"children":3363},{"disabled":208,"type":209},[],{"type":35,"value":3365}," Update your official website, docs, token lists and explorers with the new contract as soon as the swap is live.",{"type":30,"tag":200,"props":3367,"children":3369},{"className":3368},[203],[3370,3373,3375,3380],{"type":30,"tag":206,"props":3371,"children":3372},{"disabled":208,"type":209},[],{"type":35,"value":3374}," Keep a clear ",{"type":30,"tag":861,"props":3376,"children":3377},{},[3378],{"type":35,"value":3379},"incident plan",{"type":35,"value":3381}," with a decision on when to pause and who can call it.",{"type":30,"tag":52,"props":3383,"children":3385},{"id":3384},"phase-7-after-the-swap",[3386],{"type":35,"value":3387},"Phase 7: After the Swap",{"type":30,"tag":194,"props":3389,"children":3391},{"className":3390},[197],[3392,3408,3417,3433,3442,3458,3467],{"type":30,"tag":200,"props":3393,"children":3395},{"className":3394},[203],[3396,3399,3401,3406],{"type":30,"tag":206,"props":3397,"children":3398},{"disabled":208,"type":209},[],{"type":35,"value":3400}," Track the ",{"type":30,"tag":861,"props":3402,"children":3403},{},[3404],{"type":35,"value":3405},"percentage of supply migrated",{"type":35,"value":3407}," daily and share the progress.",{"type":30,"tag":200,"props":3409,"children":3411},{"className":3410},[203],[3412,3415],{"type":30,"tag":206,"props":3413,"children":3414},{"disabled":208,"type":209},[],{"type":35,"value":3416}," Follow up with large unmigrated holders directly where possible.",{"type":30,"tag":200,"props":3418,"children":3420},{"className":3419},[203],[3421,3424,3426,3431],{"type":30,"tag":206,"props":3422,"children":3423},{"disabled":208,"type":209},[],{"type":35,"value":3425}," Watch for ",{"type":30,"tag":861,"props":3427,"children":3428},{},[3429],{"type":35,"value":3430},"scam contracts",{"type":35,"value":3432}," that mimic the new token, and report them.",{"type":30,"tag":200,"props":3434,"children":3436},{"className":3435},[203],[3437,3440],{"type":30,"tag":206,"props":3438,"children":3439},{"disabled":208,"type":209},[],{"type":35,"value":3441}," Monitor the old token's remaining activity. If it still trades, make sure exchanges and aggregators label it correctly.",{"type":30,"tag":200,"props":3443,"children":3445},{"className":3444},[203],[3446,3449,3451,3456],{"type":30,"tag":206,"props":3447,"children":3448},{"disabled":208,"type":209},[],{"type":35,"value":3450}," Decide when to ",{"type":30,"tag":861,"props":3452,"children":3453},{},[3454],{"type":35,"value":3455},"close the swap window",{"type":35,"value":3457}," and announce it with notice.",{"type":30,"tag":200,"props":3459,"children":3461},{"className":3460},[203],[3462,3465],{"type":30,"tag":206,"props":3463,"children":3464},{"disabled":208,"type":209},[],{"type":35,"value":3466}," Publish a final report: migrated supply, remaining supply, burned or locked tokens and any issues encountered.",{"type":30,"tag":200,"props":3468,"children":3470},{"className":3469},[203],[3471,3474],{"type":30,"tag":206,"props":3472,"children":3473},{"disabled":208,"type":209},[],{"type":35,"value":3475}," Review spreads and depth on the new token for at least several weeks. A migration can quietly worsen liquidity even when the swap itself went well.",{"type":30,"tag":52,"props":3477,"children":3478},{"id":1599},[3479],{"type":35,"value":1602},{"type":30,"tag":1188,"props":3481,"children":3482},{},[3483,3493,3503,3513,3523,3533],{"type":30,"tag":200,"props":3484,"children":3485},{},[3486,3491],{"type":30,"tag":861,"props":3487,"children":3488},{},[3489],{"type":35,"value":3490},"Telling exchanges too late.",{"type":35,"value":3492}," Many have processes that need lead time, and a rushed swap risks suspended markets.",{"type":30,"tag":200,"props":3494,"children":3495},{},[3496,3501],{"type":30,"tag":861,"props":3497,"children":3498},{},[3499],{"type":35,"value":3500},"Forgetting vesting and staking contracts.",{"type":35,"value":3502}," Locked allocations are easy to miss and hard to fix afterwards.",{"type":30,"tag":200,"props":3504,"children":3505},{},[3506,3511],{"type":30,"tag":861,"props":3507,"children":3508},{},[3509],{"type":35,"value":3510},"Leaving the swap open indefinitely.",{"type":35,"value":3512}," A permanent swap contract is a permanent target.",{"type":30,"tag":200,"props":3514,"children":3515},{},[3516,3521],{"type":30,"tag":861,"props":3517,"children":3518},{},[3519],{"type":35,"value":3520},"Unclear communication.",{"type":35,"value":3522}," Multiple posts with conflicting details create the confusion that scammers rely on.",{"type":30,"tag":200,"props":3524,"children":3525},{},[3526,3531],{"type":30,"tag":861,"props":3527,"children":3528},{},[3529],{"type":35,"value":3530},"Ignoring market making.",{"type":35,"value":3532}," A market maker with stranded old-token inventory cannot quote properly, and spreads widen exactly when attention is highest.",{"type":30,"tag":200,"props":3534,"children":3535},{},[3536,3541],{"type":30,"tag":861,"props":3537,"children":3538},{},[3539],{"type":35,"value":3540},"Treating it as a technical project only.",{"type":35,"value":3542}," The hard parts are coordination and trust, not the contract.",{"type":30,"tag":52,"props":3544,"children":3546},{"id":3545},"migration-is-a-launch-in-disguise",[3547],{"type":35,"value":3548},"Migration Is a Launch in Disguise",{"type":30,"tag":31,"props":3550,"children":3551},{},[3552,3554,3559],{"type":35,"value":3553},"For holders and exchanges, a migration looks a lot like a second token launch: new contract, new liquidity, new listings, a new security perimeter. Projects that treat it with the same discipline as a TGE tend to handle it well. Fibonacci Capital supports token teams with launch liquidity, exchange coordination and market making through transitions like this one, so if you are weighing a migration, ",{"type":30,"tag":43,"props":3555,"children":3556},{"href":1021},[3557],{"type":35,"value":3558},"talk to us",{"type":35,"value":3560}," before you set the date.",{"title":7,"searchDepth":1027,"depth":1027,"links":3562},[3563,3564,3565,3569,3570,3571,3572,3573,3574,3575],{"id":2652,"depth":1027,"text":2655},{"id":2723,"depth":1027,"text":2726},{"id":2830,"depth":1027,"text":2833,"children":3566},[3567,3568],{"id":2836,"depth":1033,"text":2839},{"id":2928,"depth":1033,"text":2931},{"id":2965,"depth":1027,"text":2968},{"id":3092,"depth":1027,"text":3095},{"id":3209,"depth":1027,"text":3212},{"id":3322,"depth":1027,"text":3325},{"id":3384,"depth":1027,"text":3387},{"id":1599,"depth":1027,"text":1602},{"id":3545,"depth":1027,"text":3548},"content:blog:token-migration-checklist-contract-chain-swap.md","blog/token-migration-checklist-contract-chain-swap.md","blog/token-migration-checklist-contract-chain-swap",1793150254405]