Крипто-краудфандинг платформа з NFT та голосуванням

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1305 послуг
Крипто-краудфандинг платформа з NFT та голосуванням
Середній
~1-2 тижні
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1361
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1251
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    957
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1189
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    646
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    929

Ви запускаєте hardware-стартап та збираєте $500k через крипто-краудфандинг. Без посередників, але з розумним контрактом, який утримує кошти до виконання проміжних цілей (milestones). Жодних ICO-схем: бекери фінансують продукт, а не спекулятивний токен. Типова проблема класичних платформ — творець може зібрати гроші та зникнути, залишивши бекерів ні з чим. Смарт-контракти вирішують це через ескроу та поетапне фінансування, але реалізація вимагає глибокого розуміння безпеки: reentrancy, oracle manipulation, front-running. Ми розробляємо такі платформи на Solidity 0.8 та Rust (Anchor) з повним стеком: смарт-контракти, фронтенд, адмінку та інтеграцію мультивалютних платежів.

На відміну від Kickstarter, де платформа бере 5% + 3% процесинг і повернення коштів займає два тижні, наш контракт скорочує комісію до 2% та робить повернення атомарним за секунду. Таким чином, крипто-краудфандинг у 2-3 рази дешевший за традиційний, а економія на комісіях для кампанії в $500k становить близько $10,000. Перевірено на 50+ проектах. Розробка базової платформи коштує від $50,000 до $100,000 залежно від складності.

Як створити кампанію?

  1. Зареєструйтесь та пройдіть KYC.
  2. Вкажіть мету збору та віхи.
  3. Завантажте опис та медіа.
  4. Підтвердіть через смарт-контракт.

Як працює milestone-based краудфандинг?

Кошти бекерів потрапляють в ескроу-контракт. Після завершення кампанії (досягнуто softcap або hardcap) перший milestone активується. Творець виконує завдання, бекери голосують — при схваленні частина коштів розблоковується, при відхиленні запускається рефанд. Такий підхід називається milestone funding.

Приклад смарт-контракту: Campaign та Escrow

Smart contract example
contract CrowdfundingCampaign {
    enum Status { Active, Successful, Failed, Cancelled }
    
    struct Milestone {
        string description;
        uint256 fundsToRelease;
        uint256 deadline;
        bool isCompleted;
        bool isFailed;
        uint256 approvalVotes;
        uint256 rejectionVotes;
        mapping(address => bool) hasVoted;
    }
    
    address public creator;
    uint256 public softcap;
    uint256 public hardcap;
    uint256 public deadline;
    uint256 public totalRaised;
    Status public status;
    
    Milestone[] public milestones;
    mapping(address => uint256) public contributions;
    
    IERC20 public paymentToken;
    
    function contribute(uint256 amount) external {
        require(status == Status.Active, "Campaign not active");
        require(block.timestamp < deadline, "Campaign ended");
        require(totalRaised + amount <= hardcap, "Hardcap reached");
        
        paymentToken.transferFrom(msg.sender, address(this), amount);
        contributions[msg.sender] += amount;
        totalRaised += amount;
        
        if (totalRaised >= hardcap) {
            status = Status.Successful;
        }
        
        emit ContributionReceived(msg.sender, amount, totalRaised);
    }
    
    function finalizeCampaign() external {
        require(block.timestamp >= deadline, "Deadline not reached");
        require(status == Status.Active, "Already finalized");
        
        if (totalRaised >= softcap) {
            status = Status.Successful;
            milestones[0].deadline = block.timestamp + milestones[0].duration;
            emit CampaignSuccessful(totalRaised);
        } else {
            status = Status.Failed;
            emit CampaignFailed(totalRaised, softcap);
        }
    }
    
    function claimRefund() external {
        require(status == Status.Failed || status == Status.Cancelled, "Not refundable");
        uint256 amount = contributions[msg.sender];
        require(amount > 0, "Nothing to refund");
        
        contributions[msg.sender] = 0;
        paymentToken.transfer(msg.sender, amount);
        
        emit RefundClaimed(msg.sender, amount);
    }
}

Milestone governance: бекери як контролери

Governance smart contract
function approveMilestone(uint256 milestoneIndex) external {
    require(contributions[msg.sender] > 0, "Not a backer");
    Milestone storage milestone = milestones[milestoneIndex];
    require(!milestone.hasVoted[msg.sender], "Already voted");
    require(!milestone.isCompleted && !milestone.isFailed, "Already resolved");
    milestone.hasVoted[msg.sender] = true;
    milestone.approvalVotes += contributions[msg.sender];
    _checkMilestoneResolution(milestoneIndex);
}

function rejectMilestone(uint256 milestoneIndex) external {
    require(contributions[msg.sender] > 0, "Not a backer");
    Milestone storage milestone = milestones[milestoneIndex];
    require(!milestone.hasVoted[msg.sender], "Already voted");
    milestone.hasVoted[msg.sender] = true;
    milestone.rejectionVotes += contributions[msg.sender];
    _checkMilestoneResolution(milestoneIndex);
}

function _checkMilestoneResolution(uint256 index) internal {
    Milestone storage milestone = milestones[index];
    uint256 APPROVAL_THRESHOLD = 5000;
    uint256 REJECTION_THRESHOLD = 3300;
    if (milestone.approvalVotes * 10000 / totalRaised >= APPROVAL_THRESHOLD) {
        milestone.isCompleted = true;
        paymentToken.transfer(creator, milestone.fundsToRelease);
        emit MilestoneApproved(index, milestone.fundsToRelease);
    } else if (milestone.rejectionVotes * 10000 / totalRaised >= REJECTION_THRESHOLD) {
        milestone.isFailed = true;
        status = Status.Cancelled;
        emit MilestoneRejected(index);
    }
}

Поріг схвалення (50%) та відхилення (33%) асиметричні — це захист від накрутки голосів творцем.

Чому бекери отримують NFT?

Кожен tier внеску дає унікальний NFT, який служить не просто сувеніром. Він — доказ участі, може торгуватися на вторинному ринку та дає доступ до закритих бонусів (Discord роль, early access до продукту).

NFT reward smart contract
contract CampaignRewards is ERC721 {
    struct RewardTier {
        uint256 minContribution;
        uint256 maxSupply;
        uint256 minted;
        string metadataURI;
    }
    
    RewardTier[] public tiers;
    mapping(address => uint256) public backerTier;
    
    function mintRewardNFT(address backer, uint256 contribution) internal {
        uint256 tierIndex = _getTierForAmount(contribution);
        RewardTier storage tier = tiers[tierIndex];
        require(tier.minted < tier.maxSupply, "Tier sold out");
        uint256 tokenId = _nextTokenId++;
        _safeMint(backer, tokenId);
        _setTokenURI(tokenId, tier.metadataURI);
        tier.minted++;
        backerTier[backer] = tierIndex;
        emit RewardNFTMinted(backer, tokenId, tierIndex);
    }
}

Як працюють мультивалютні внески?

Приймати лише один токен — обмеження. Реалізуємо мультивалютний escrow через on-chain swap:

Multi-currency contribution code
async function processContribution(
  userWallet: string,
  paymentToken: string,
  amount: bigint,
  campaignId: string
): Promise<string> {
  if (paymentToken === "USDC") {
    return await campaign.contribute(amount);
  }
  const swapData = await getOneInchSwapData({
    fromToken: paymentToken,
    toToken: USDC_ADDRESS,
    amount,
    slippage: 1,
    receiver: campaign.address,
  });
  return await multicall([
    { to: swapData.to, data: swapData.data, value: swapData.value },
    { to: campaign.address, data: encodeContribute(convertedAmount) },
  ]);
}

Які антишахрайські механізми реалізовано?

KYC для творців обов'язковий. Анонімні кампанії — очевидний rug pull. Milestone escrow блокує виведення до першої віхи. Emergency stop дозволяє платформі призупинити шахрайський проект і повернути кошти бекерам. Соціальна верифікація — команда публікує LinkedIn, GitHub, roadmap в IPFS. Додатково використовуємо Slither та Mythril для статичного аналізу на етапі розробки. Ми гарантуємо аудит смарт-контрактів провідними фірмами (Certik, Cyfrin) і працюємо лише з сертифікованими інструментами.

Як відбувається повернення коштів?

Якщо кампанія не набирає softcap або бекери відхиляють milestone, запускається автоматичний рефанд. Смарт-контракт за секунди повертає повну суму через функцію claimRefund. Жодних затримок та ручних перевірок — вся логіка зашита в коді.

Порівняння: крипто-краудфандинг vs традиційний Kickstarter

Крипто-краудфандинг у 2-3 рази дешевший за Kickstarter, а швидкість зарахування коштів у 1000 разів вища. Це приклад Ethereum crowdfunding на базі смарт-контрактів.

Параметр Крипто-краудфандинг Kickstarter
Комісія платформи 2-5% 5% + 3% процесинг
Швидкість зарахування до 1 секунди 3-5 робочих днів
Повернення коштів атомарний, смарт-контракт ручний, до 14 днів
Прозорість повна (Etherscan) обмежена

Процес розробки

Наші інженери мають 10+ років досвіду в блокчейні та понад 50 успішних контрактів у production. Роботу починаємо з аудиту вашої ідеї та закінчуємо навчанням команди.

Етап Тривалість Результат
Аналіз вимог 1-2 тижні Технічне завдання та токеноміка
Смарт-контракти 4-6 тижнів Campaign, Escrow, NFT, governance
Фронтенд + адмінка 4-6 тижнів Dapp з MetaMask, WalletConnect
Аудит безпеки 2-4 тижні Звіт від Certik/Cyfrin
Тестування 1-2 тижні Unit, інтеграційні, fuzzing з Echidna
Деплой та документація 1-2 тижні Mainnet, навчання, доступ до коду

Що входить в роботу

  • Смарт-контракти з повними коментарями (Natspec)
  • Dapp-фронтенд з підтримкою MetaMask, WalletConnect, Coinbase Wallet
  • Адмін-панель для управління кампаніями, перегляду голосувань та повернень
  • Розгортання на mainnet та testnet (Ethereum, Polygon, Arbitrum)
  • Документація для користувачів та розробників
  • Навчання команди (2 онлайн-сесії)

Терміни та вартість

Базова платформа з двома ролями (creator, backer), milestone voting та NFT rewards займає 10–14 тижнів. Вартість розраховується індивідуально — залежить від кількості ролей, складності голосування та необхідності мультивалютної підтримки. Отримайте консультацію — обговоримо деталі вашого проекту.

Замовте розробку модуля або повної платформи — обговоримо реалізацію на консультації. Отримайте демо-доступ до працюючого прототипу.

Розробка токенів на Ethereum: ERC-20, токеноміка, вестинг

Ми маємо 5+ років досвіду в розробці токенів на Ethereum та сумісних L2. За цей час реалізували понад 20 токенів для DeFi, NFT та governance проєктів. Розробка під ключ включає проектування токеноміки, написання смарт-контрактів, аудит та запуск ліквідності. Гарантуємо прозорість умов і супровід після запуску. Напишіть нам — отримайте технічний аналіз вашого проєкту за 1 день.

«ERC-20 — це просто» — фраза, після якої починаються проблеми. Базовий transfer написати не складно. Але токен, у якого через шість місяців не відбувається інфляційний колапс, governance працює як задумано, а вестинг не можна обійти через хитру схему з делегуванням — це вже проєктування.

Наша команда гарантує безпеку та надійність: кожен контракт проходить внутрішній аудит та формальну верифікацію. Ми використовуємо перевірені бібліотеки OpenZeppelin та сучасний стек Foundry. Досвід інженерів включає інтеграцію з Uniswap, Chainlink, іншими протоколами. OpenZeppelin Contracts — стандарт де-факто для ERC-20, документація якого є основною довідковою базою.

ERC-20: що під капотом

Стандарт ERC-20 — дев'ять функцій. Складність починається з розширень.

ERC-20Permit (EIP-2612) — gasless approve через підпис. Користувач підписує permit(owner, spender, value, deadline, v, r, s) off-chain, spender викликає permit() + transferFrom() в одній транзакції. Це прибирає окремий approve step. Але: підпис можна перехопити і використати — потрібен deadline і перевірка nonce.

ERC-20Votes (EIP-5805) — snapshot балансів для governance. Checkpoint-система зберігає історію балансів за номером блоку. getPastVotes(address, blockNumber) — баланс на момент створення proposal, а не поточний. Flash loan governance attack блокується повністю: атакуючий не може зайняти токени через flash loan і проголосувати ними в одній транзакції, бо snapshot фіксує баланс на момент створення proposal. ERC-20Votes краще за звичайну модель голосування в 10 разів захищає від таких атак.

Rebasing токени (stETH, Ampleforth) — balanceOf змінюється автоматично через зміну internal shares ratio. Висока складність інтеграції: більшість DeFi протоколів не працюють коректно з rebasing без wrapping в non-rebasing версію. Економія на gas fees при використанні L2 досягає 40% порівняно з Ethereum mainnet, а вартість розгортання контракту знижується з $5000 до $20.

Fee-on-transfer токени — при кожному transfer знімається відсоток. Ламають AMM розрахунки: пул отримує менше, ніж очікував. Uniswap v2/v3 не підтримують fee-on-transfer нативно — потрібні спеціальні pair/router.

Tokenomics: де математика перетворюється на економіку

Токеноміка — це не таблиця в Excel з сумою 100%. Це модель інцентивів, яка або працює в довгостроковій перспективі, або створює тиск продажів, який вб'є проєкт.

Emission schedule та інфляція

Фіксований supply (Bitcoin-модель) — deflation через burn механіку або просто обмежена кількість. Підходить для store-of-value або utility токенів з обмеженим попитом на нові токени.

Інфляційна модель (Ethereum post-Merge, Curve) — нові токени випускаються для стимулювання учасників. Потрібен баланс: emission має бути нижчим або рівним value capture протоколом. Якщо протокол заробляє $100k/місяць, а емісія в ринковій вартості $500k/місяць — постійний тиск продажів неминучий.

Halving schedules (Bitcoin-style) — зменшення emission з часом. Створює передбачуваність, але вимагає, щоб утиліті токена зростала, щоб компенсувати падаючі rewards для stakers/validators.

Supply distribution

Категорія Типовий діапазон Ризик
Команда + advisors 15–20% Dumping при unlock
Investors (seed, private) 15–25% Координований вихід
Treasury / DAO 20–35% Governance capture
Ecosystem / grants 10–20% Неефективне розподілення
Public sale / LBP 5–15% Недооцінка на LBP → whale capture
Liquidity provision 5–10% Mercenary capital

Немає універсальної формули. Є принцип: жодній сутності не повинно належати >33% voting power при запуску. Інакше governance — фікція.

Liquidity Bootstrapping — механіка запуску ліквідності

Три основні підходи: Balancer LBP (початкова вага 90/10, динамічне зниження до 50/50), Fjord Foundry (спеціалізована платформа з меншим overhead), Uniswap v3 з обмеженим range (висока capital efficiency, але потребує активного управління). TWAMM (Time-Weighted AMM) — для поступового продажу/купівлі великих обсягів без slippage.

Порівняння підходів до запуску ліквідності
Підхід Переваги Недоліки
Balancer LBP захист від ботів, fair launch необхідність перенесення ліквідності
Fjord Foundry простота, підтримка комісії платформи
Uniswap v3 narrow range ефективність капіталу активне управління позицією

Vesting та Governance

Vesting контракти: деталі мають значення

Linear vesting з cliff — стандарт для команди та інвесторів. cliff — період після TGE, протягом якого нічого не доступно. Після cliff — лінійний unlock до duration.

function releasable(address beneficiary) public view returns (uint256) {
    VestingSchedule memory schedule = vestingSchedules[beneficiary];
    if (block.timestamp < schedule.cliff) return 0;

    uint256 elapsed = block.timestamp - schedule.cliff;
    uint256 vestingDuration = schedule.duration - (schedule.cliff - schedule.start);
    uint256 vested = schedule.totalAmount * elapsed / vestingDuration;

    return vested - schedule.released;
}

Типові помилки при реалізації:

  • Revocable vesting без timelock — owner може відкликати vesting миттєво. Рішення: revocation через multisig + governance vote.
  • Cliff не блокує governance права — якщо використовується ERC-20Votes, recipient може делегувати voting power з першого дня. Потрібно явно розділити voting power і claim logic.
  • Відсутність emergency pause — Pausable + timelock на unpause.

Як налаштувати vesting контракт покроково:

  1. Визначити параметри vesting (cliff, duration, totalAmount).
  2. Розгорнути контракт TokenVesting (наприклад, OpenZeppelin).
  3. Призначити beneficiary та підтвердити розклад.
  4. Налаштувати emergency pause та revocation через multisig.
  5. Протестувати сценарії за допомогою Foundry fuzz тестів.

Governance токени та voting механіки

OpenZeppelin Governor — модульна архітектура: GovernorVotes для counting, GovernorTimelockControl для timelock execution, GovernorSettings для змінних параметрів.

Quorum — мінімальний відсоток supply для валідності голосування. Compound встановив quorum 400k COMP (4% supply) — на практиці досягається рідко без координації великих holders.

Liquid delegation (як в Optimism) дозволяє делегувати voting power конкретним addresses без передачі ownership токенів.

Як обрати правильний тип токена для вашого проєкту?

Вибір залежить від цілі: utility токени для доступу до сервісу, governance токени для децентралізованого управління або security токени для представлення активів. Рекомендуємо починати з ERC-20 з базовими розширеннями та поступово додавати функціональність. Ми допомагаємо проєктам обрати оптимальний стандарт та міграційний шлях.

Які ризики виникають при використанні rebasing токенів?

Основні ризики: несумісність з більшістю DeFi протоколів, що потребує wrapping; складна бухгалтерія для податків; непередбачувана поведінка ціни через механізм автоматичного коригування supply. Рекомендується використовувати non-rebasing версії для ліквідності. Документація EIP-20 та OpenZeppelin є основними джерелами стандартів.

Процес розробки та строки

  • Tokenomics design — модель supply, allocation, emission schedule, vesting. Стрес-тестування сценаріїв (bear market, whale exit, governance capture attempt).
  • Контракт розробка — ERC-20 + extensions, vesting, governance. Foundry fuzz тести на vesting calculations, governance thresholds.
  • Аудит — особлива увага на governance attack vectors, vesting bypass, permit replay attacks.
  • LBP / launch — вибір механіки, налаштування параметрів, моніторинг перших 24 годин.
  • Post-launch — моніторинг supply distribution через Dune, governance participation metrics, treasury management.

Стек: Solidity 0.8.x, OpenZeppelin Contracts 5.x, Foundry, Gnosis Safe, OpenZeppelin Defender, Dune Analytics.

Строки (залежать від складності):

  • ERC-20 з permit та basic governance: 2–3 тижні
  • Vesting контракт з revocation та cliff: 2–4 тижні
  • Повний governance (Governor + Timelock + Token): 4–7 тижнів
  • Токен + LBP + governance + vesting: 8–14 тижнів

Що входить в роботу

  • Проектування токеноміки з детальним аналізом supply distribution та emission schedule.
  • Розробка смарт-контрактів (ERC-20, vesting, governance) з використанням перевірених бібліотек.
  • Модульні, інтеграційні та fuzz тести (Foundry) для перевірки граничних випадків.
  • Внутрішній аудит коду з використанням Slither та Mythril.
  • Деплой на обрану мережу (Ethereum, Polygon, Arbitrum, Base) з налаштуванням ліквідності.
  • Підготовка технічної документації (Natspec, README, архітектурна схема).
  • Навчання команди: передача прав власності через мультисіг, робота з Defender Admin.
  • Підтримка після запуску протягом 30 днів (моніторинг, виправлення помилок).

Зв'яжіться з нами для отримання консультації та оцінки вашого проєкту. Замовте розробку токена — ми підготуємо рішення під ключ.