Creating a Coin

This guide covers how to create coins directly using the Basememe Factory contract.

Basememe Factory contract creates Coins, setting up Bonding Curves and initializing Uniswap pools. Coins created before December 5, 2025 are configured to use Uniswap V3 pools, while coins created on or after December 5, 2025 are using Uniswap V4 pools. Each Coin is configured to have a Bonding Curve and a Liquidity pool setup with a coin pair of its backing currency on each chain.

Create Coin

To create a new coin with selected collateral pair, you send a transaction to call the createBasememeTokenWithCollateral method.

You may create token with following collateral:

Collateral Pair
Address

ETH

0x0000000000000000000000000000000000000000

USDC

0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

SOL

0x311935Cd80B76769bF2ecC9D8Ab7635b2139cf82

Method Interface

// solidity interface 

/// @notice Create a new token with required params
///
/// @param _name The name of the token
/// @param _symbol The symbol/ticker of the token
/// @param _tokenURI The IPFS URI of token metadata
/// @param _nonce Random number for salt generation
/// @param _signature The verify-able signature for token creation
/// @param _platformReferrer The Creator Referrer address to receive reward
/// @param _payoutRecipient The Creator address to receive reward
/// @param _tokenSalt Salt for deterministic CREATE2 deployment. Enables predictable token addresses.
/// @param _collateralToken Selected collateral pair for created token
///
/// @return token The address of the created token
function createBasememeTokenWithCollateral(
    string memory _name,
    string memory _symbol,
    string memory _tokenURI,
    uint256 _nonce,
    bytes memory _signature,
    address _platformReferrer,
    address _payoutRecipient,
    bytes32 _tokenSalt,
    address _collateralToken
) 
    external 
    returns (address);

Events

The factory emit an event upon successful coin creation

In addition, a NewBasememeTokenCurveParams event is emitted at creation time to publish the token's economic parameters, including the selected collateralToken and v4LpFee.


Create and Buy Coin

To create and buy a new coin with a selected collateral pair, you send a transaction to call the createBasememeTokenAndBuyWithCollateral method.

You may create token with following collateral:

Collateral Pair
Address

ETH

0x0000000000000000000000000000000000000000

USDC

0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

SOL

0x311935Cd80B76769bF2ecC9D8Ab7635b2139cf82

Method Interface

Payment notes

  • If _collateralToken is ETH (address(0)), send msg.value == _collateralAmountIn.

  • If _collateralToken is an ERC20 collateral token (e.g. USDC / SOL), msg.value must be 0 and the caller must approve the Factory to spend _collateralAmountIn of the collateral token.

Events

The factory emit NewBasememeToken event upon successful coin creation

In addition, a NewBasememeTokenCurveParams event is emitted at creation time to publish the token's economic parameters, including the selected collateralToken and v4LpFee.

Successful purchase of new coin create will emit Buy event


Create Coin (Advanced Mode)

Advanced mode lets creators customize the coin’s funding target and token allocation at creation time. To create an advanced-mode coin with a selected collateral pair, call createBasememeTokenDynamicWithCollateral.

Method Interface

Advanced mode also supports an optional vesting allocation via an additional overload:

Events

In addition to NewBasememeToken and NewBasememeTokenCurveParams, advanced-mode creation emits NewBasememeTokenDynamicParams to publish the selected/derived advanced parameters for indexers and integrators.


Create Coin (ETH Pair only)

To create a new coin that is paired with ETH only, you send a transaction to call the createBasememeToken method. For USDC / SOL collateral pairs, use createBasememeTokenWithCollateral instead.

Method Interface

Events

The factory emit an event upon successful coin creation


Create and Buy Coin (ETH Pair only)

To create and buy a new coin that is paired with ETH only, you send a transaction to call the createBasememeTokenAndBuy method. For USDC / SOL collateral pairs, use createBasememeTokenAndBuyWithCollateral instead.

Method Interface

Events

The factory emit NewBasememeToken event upon successful coin creation

Successful purchase of new coin create will emit Buy event

Additional Info

There're 2 params in both create token method that need extra attention:

  • _tokenURI : All the metadata about created coins are stored on IPFS. You need to upload your image and the meta of your token to IPFS following example below:

  • _signature : For the moment, there's no signature required to create a coin using Basememe Factory, pass in empty bytes value for _signature will do the job.

Last updated