Contracts that hold up on mainnet

Smart contract development for tokens, dApps and protocols. We design, test and ship your contracts, then prepare your token for CoinMarketCap and CoinGecko.

See services
TVL secured
$450M+
Contracts deployed
180+
Listing submission
24-72h
Audit pass rate
100%

Web3 services

Hire us for one stage or all of them. Open a service to see what you receive. We quote timelines and prices after a scope call.

Smart Contract Development

EVM and Solana contracts written for security, low gas costs and a clean external audit.

What you receive

We architect and write custom smart contracts (ERC-20, ERC-721/1155, Staking, Vaults, Governance, Upgradable Proxies, Account Abstraction) using Foundry and Hardhat. Every line is optimized for minimal gas consumption and audited against top vulnerability patterns.

  • Custom Solidity / Rust Smart Contracts
  • 100% Test Coverage Suite (Foundry & Hardhat)
  • Slither & Mythril Static Analysis Report
  • Gas Optimization Matrix (30-40% savings)
  • Mainnet & Testnet Deployment Scripts

Smart Contract Integration

Web3 frontends that connect your dApp to its contracts with Viem, Wagmi, Ethers and event indexing.

What you receive

We build reactive, intuitive Web3 frontends and wallet interaction flows (MetaMask, WalletConnect, Phantom, Coinbase Wallet). We also set up custom event indexing subgraphs (The Graph, Envio) for instant dApp querying.

  • React / Next.js Web3 Frontend Components
  • Viem & Wagmi v2 Hooks Architecture
  • Multi-Wallet Connection Modal & Network Switcher
  • The Graph / Envio Custom Indexer Subgraph
  • Transaction State & Gas Estimation UI

Token Development & Launchpad

Tokenomics, token contracts, anti-bot rules and liquidity pool setup, from design to launch.

What you receive

From meme tokens to enterprise utility tokens, we design robust tokenomics, anti-whale transaction limits, custom tax reflections, presale/vesting smart contracts, and automated DEX liquidity pool setup on Uniswap, Raydium, and PancakeSwap.

  • ERC-20 / SPL Custom Token Contract
  • Vesting & Presale Smart Contracts
  • Anti-Bot & Sniper Protection Logic
  • UNCX / PinkSale Liquidity Lock Integration
  • DEX Pair Creation & Initial Liquidity Injection

CoinMarketCap & CoinGecko Listing

Listing applications prepared and submitted in 24 to 72 hours, with DEXTools and DexScreener profiles updated.

Timeline
24 - 72 Hours
Starts at
$1,299
What you receive

We handle the complete verification application, volume metrics validation, circulating supply audit, DEXTools/DexScreener social updates, and fast-track CoinMarketCap & CoinGecko indexing.

  • CoinMarketCap Submission (24-72h)
  • CoinGecko Expedited Verification
  • DEXtools & DexScreener Social Info Updating
  • Tokenomics & Circulating Supply Audit Document
  • Listing Status Monitoring Dashboard

Web3 & dApp Engineering

Web3 portals, DeFi protocols, DAO governance and Telegram Mini Apps, built end to end.

What you receive

We build enterprise-grade Web3 platforms, cross-chain bridges, decentralized exchanges (AMM), staking portals, NFT marketplaces, and Web3 Telegram mini-apps with embedded TON & EVM wallet support.

  • Full dApp Architecture (Frontend + Smart Contracts)
  • Staking, Farming & Yield Vault Portals
  • Cross-Chain Bridge & Oracle Integration
  • Telegram Web3 Mini-App with TON/EVM Wallet
  • Admin Portal & Analytical Dashboard

Built for your market

A token for Dubai, Frankfurt or New York can need different controls in the contract. We plan them with your legal counsel before the first line of code.

Middle East and North Africa

The rules

Dubai VARA, DIFC DFSA, ADGM FSRA and the Central Bank of Bahrain each set their own rules, so the free zone you choose changes the requirements.

What it means for the build

Role-based admin controls, transfer restrictions where a licence calls for them, and technical documentation your licensing team can file.

Europe

The rules

MiCA covers crypto-asset white papers and stablecoin issuers across the EU. Switzerland and the UK run separate regimes through FINMA and the FCA.

What it means for the build

Supply and reserve data that can be read on-chain, documented pause and upgrade paths, and token specifications ready for a white paper.

The Americas

The rules

In the US, the SEC and CFTC, the GENIUS Act for payment stablecoins and state rules such as the NYDFS BitLicense can all apply to one launch.

What it means for the build

Allowlists and vesting enforced in the contract, full event logs for reporting, and multi-signature control over privileged functions.

This is general information, not legal advice.

Estimate your token launch cost

Choose your settings to see an itemised estimate. We confirm the final price after a scope call.

Network
Liquidity lock
Add-ons

Read the code before you hire us

These are examples of how we write and test Solidity. The list beside them shows what we check on every contract.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol";
import {VestingWallet} from "@openzeppelin/contracts/finance/VestingWallet.sol";

contract BlockStartumToken is ERC20, ERC20Permit, Ownable2Step {
    uint256 public constant MAX_TEAM_BPS = 2_000; // team allocation capped at 20%

    VestingWallet public immutable teamVesting;
    uint256 public immutable maxTxAmount; // 1% of supply, launch anti-bot only
    bool public limitsActive = true;
    string private _contractURI;

    error TeamShareTooHigh();
    error ZeroTeamWallet();
    error MaxTxExceeded(uint256 value, uint256 max);

    event LimitsRemoved();
    event ContractURIUpdated(); // ERC-7572

    /// @param totalSupply_     whole tokens, e.g. 1000000000 for 1B
    /// @param owner_           Safe multisig that receives the non-team supply
    /// @param teamBps_         team share in basis points (1000 = 10%), max 2000
    /// @param cliffSeconds_    nothing unlocks before this (31536000 = 12 months)
    /// @param vestingSeconds_  linear unlock after the cliff (0 = everything at the cliff)
    /// @param contractURI_     e.g. ipfs://.../token.json with name, image, website, socials
    constructor(
        string memory name_,
        string memory symbol_,
        uint256 totalSupply_,
        address owner_,
        address teamWallet_,
        uint256 teamBps_,
        uint64 cliffSeconds_,
        uint64 vestingSeconds_,
        string memory contractURI_
    ) ERC20(name_, symbol_) ERC20Permit(name_) Ownable(owner_) {
        if (teamBps_ > MAX_TEAM_BPS) revert TeamShareTooHigh();

        uint256 supply = totalSupply_ * 10 ** decimals();
        uint256 teamAmount = (supply * teamBps_) / 10_000;
        maxTxAmount = supply / 100;
        _contractURI = contractURI_;

        if (teamAmount > 0) {
            if (teamWallet_ == address(0)) revert ZeroTeamWallet();
            teamVesting = new VestingWallet(
                teamWallet_,
                uint64(block.timestamp) + cliffSeconds_,
                vestingSeconds_
            );
            _mint(address(teamVesting), teamAmount);
        }
        _mint(owner_, supply - teamAmount);
        // No mint function exists after this point: total supply is fixed forever.
    }

    /// One-way switch. Limits can be removed, never turned back on or tightened.
    function removeLimits() external onlyOwner {
        limitsActive = false;
        emit LimitsRemoved();
    }

    function contractURI() external view returns (string memory) {
        return _contractURI;
    }

    function setContractURI(string calldata newURI) external onlyOwner {
        _contractURI = newURI;
        emit ContractURIUpdated();
    }

    function _update(address from, address to, uint256 value) internal override {
        if (
            limitsActive &&
            from != address(0) && to != address(0) &&       // mint / burn
            from != owner() && to != owner() &&             // liquidity from the Safe
            from != address(teamVesting)                    // vesting releases
        ) {
            if (value > maxTxAmount) revert MaxTxExceeded(value, maxTxAmount);
        }
        super._update(from, to, value);
    }
}

/// Holds LP tokens until unlockTime. The lock can be extended, never shortened.
contract LiquidityLock {
    using SafeERC20 for IERC20;

    IERC20 public immutable lpToken;
    address public immutable beneficiary;
    uint64 public unlockTime;

    error NotBeneficiary();
    error InvalidUnlockTime();
    error StillLocked(uint64 unlockTime);
    error NothingLocked();

    event LockExtended(uint64 newUnlockTime);
    event Released(uint256 amount);

    constructor(IERC20 lpToken_, address beneficiary_, uint64 unlockTime_) {
        if (beneficiary_ == address(0)) revert NotBeneficiary();
        if (unlockTime_ <= block.timestamp) revert InvalidUnlockTime();
        lpToken = lpToken_;
        beneficiary = beneficiary_;
        unlockTime = unlockTime_;
    }

    function lockedAmount() external view returns (uint256) {
        return lpToken.balanceOf(address(this));
    }

    function extendLock(uint64 newUnlockTime) external {
        if (msg.sender != beneficiary) revert NotBeneficiary();
        if (newUnlockTime <= unlockTime) revert InvalidUnlockTime();
        unlockTime = newUnlockTime;
        emit LockExtended(newUnlockTime);
    }

    function release() external {
        if (block.timestamp < unlockTime) revert StillLocked(unlockTime);
        uint256 amount = lpToken.balanceOf(address(this));
        if (amount == 0) revert NothingLocked();
        lpToken.safeTransfer(beneficiary, amount);
        emit Released(amount);
    }
}

What we check on every contract

  • Reentrancy protection

    No outside contract can call back in before balances are updated. State changes happen before external calls (checks-effects-interactions), and ReentrancyGuard is added wherever funds leave the contract.

  • Safe arithmetic

    Solidity 0.8+ stops any transaction where a number overflows or underflows. We review every unchecked block by hand, because those skip that check to save gas.

  • Who can call what

    Every admin function is mapped to the wallet or role allowed to call it. Ownership moves in two steps (Ownable2Step), so the new owner must accept and a mistyped address can never lock you out.

  • Lower gas costs

    Small values are packed into shared 32-byte storage slots, and repeated reads are cached in memory. Fewer storage reads and writes make every transaction cheaper for your users.

  • Price manipulation

    If a contract uses token prices, it never trusts a single block’s DEX price, which a flash loan can move. It reads a time-weighted average (TWAP) or a Chainlink feed instead.

How listing works

We prepare and submit your CoinMarketCap and CoinGecko applications in 24 to 72 hours. Each platform makes its own approval decision.

  1. Contract audit and verification

    Contract deployment verification on Etherscan/BscScan and Slither audit badge generated.

  2. Liquidity pool creation and lock

    Initial DEX pair creation (Uniswap V2/V3 or Raydium) and minimum 6-12 month UNCX liquidity lock.

  3. DEXTools and DexScreener profiles

    Updating official logo, social channels, website link, and Telegram handle on all DEX chart aggregators.

  4. CoinMarketCap application

    Submitting the application with verified volume metrics and circulating supply documentation.

  5. CoinMarketCap and CoinGecko indexing

    Once approved, the token appears in CoinMarketCap and CoinGecko search and portfolio trackers.

What founders say

BlockStartum delivered our EVM staking protocol in just 5 days. It passed our independent audit on the first try.
Alexander WrightFounder & CEO, Aetheria Finance
We needed fast-track CoinMarketCap & CoinGecko listings before our IDO launch. BlockStartum got us live on CMC in less than 36 hours. Absolute game changer.
Sophia ChenHead of Growth, NovaPay Protocol
From custom tokenomics to anti-bot liquidity lockers and dApp frontend integration, BlockStartum was our all-in-one Web3 engineering partner.
Marcus VanceLead Architect, Quantum DEX

Frequently asked questions

How fast can BlockStartum develop and deploy our smart contract?

Standard ERC-20 / SPL tokens and staking contracts take 2-4 business days including testing scripts. Complex custom protocols (DeFi vaults, DEXs, cross-chain bridges) take 1-2 weeks.

Are your smart contracts audited and safe from exploits?

Yes. Every contract we write undergoes dual static analysis (Slither + Mythril), automated unit testing in Foundry with 100% path coverage, and manual security reviews against reentrancy, flashloan attacks, and integer bugs.

How does the 24-72h CoinMarketCap and CoinGecko listing work?

We leverage established direct developer submission channels and pre-audit your token supply metrics so your application skips manual queue backlogs.

What chains do you support?

We support all major EVM networks (Ethereum, Base, Arbitrum, Polygon, BNB Chain, Avalanche, Optimism) as well as Solana (Rust/Anchor) and TON.

Can BlockStartum help with dApp frontend integration?

Yes. We build responsive Web3 frontends using React, Viem, Wagmi v2, Ethers.js, and custom event indexing subgraphs.