# Welcome to PumpFlow Docs !

PumpFlow revolutionizes meme and community token launches with its unique approach, ensuring a rug-free experience. Leveraging a bonding curve model, PumpFlow seamlessly balances token price and supply, creating a fair and transparent ecosystem for token creation.

\
PumpFlow offers two distinct modes to meet to different user needs:

* Degen Mode: In this mode, anyone can launch tokens without requiring X (Twitter) verification. This is ideal for creators who prioritize speed and flexibility over verification.
* Safe Mode: For enhanced trust and transparency, token creators must verify their X (Twitter) account. This builds credibility, reassuring communities and investors about the legitimacy of the token.

Whether you're a bold innovator or a cautious creator, PumpFlow provides the tools you need to launch your token safely and effectively.

<br>

### Jump right in

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>How to Participate</strong></td><td></td><td></td><td></td><td><a href="/pages/CyH2xJQs9yWJ1S8BYNav">/pages/CyH2xJQs9yWJ1S8BYNav</a></td></tr></tbody></table>


# How to Participate in PumpFlow

### **Buy Flow with Credit Card** <a href="#buy-flow-with-credit-card" id="buy-flow-with-credit-card"></a>

If you don’t have Flow tokens, you can easily purchase them using your credit card.

**Step** **1:**

Go to a platform that supports buying Flow tokens with a credit card (e.g.,[ Flow Wallet](https://wallet.flow.com/)).

**Step** **2:**

To navigate to credit card payment, simply press the button highlighted with the red circle in the screenshot.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfIZqQT-Vm5PKA_cG2rZX76JrPOQYZ4pgUW-17Ujtz0FXeqNlLp2M1gDbwjbCqpVWwvUa13fSpjnr_Qq98aVRM4vWDQ2VNDGcrKjCbN3lS2Ihekwf_poYfkbhB1ioFJvVpos4ri?key=8Z1eg4xR35tiI54ylUMbhvmf)

**Step 3:**&#x20;

Now, you can complete your purchase by using MoonPay or CoinbasePay.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXf_Q5mvl0BjB39rggxvswRMEuHVl3tmg4YemqXYd3eCE6jSl-eJmUZ0-HoZw7bjHFay-qQw1kHdydjLo4eGD3vUOGebSvzOtYxHS16dert7D9fYz_Wh1P3JDua-_niKpNNh3Uexow?key=8Z1eg4xR35tiI54ylUMbhvmf)

**Step 4:**

Confirm that your funds are on Flow EVM. Once completed, visit [Pumpflow.meme](https://www.pumpflow.meme/) to start creating or trading tokens. Enjoy the experience!

### &#x20;**Transfer Your Flows from CEX to Flow Wallet**

If you already own Flow tokens on a centralized exchange (CEX), transfer them to your Flow wallet.

**Step 1:**

Log in to your account on the CEX platform where you hold Flow tokens. Navigate to the withdrawal section and choose Flow. Enter your Flow  wallet address. That address has to be the FLOW Cadence address, not EVM. Specify the amount to transfer and confirm.&#x20;

<div align="left"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdnY9DU-SH6laCs7ozl7zJ2nSGfsdLoNB7a1Wd79Dtg343lEuv-NXgaJ7zEWu2p0RSbFdHWc7Q-DxzOLAI1YwNIQHFJ61iL6t9Irz1qokNsasbnIqsnnRj7-HCjLDomse4BrctU?key=8Z1eg4xR35tiI54ylUMbhvmf" alt=""><figcaption></figcaption></figure></div>

On Flow Wallet, you have 2 accounts. First one (Penguin) is for Flow Cadence network and Second one (Lion) is for Flow EVM network.

**Step 2:**

Your Withdrawal request was confirmed. The balance is shown on your flow wallet. To surf on PumpFlow, you need to move your funds from flow Cadence to Flow EVM. You can move your assets by using the “MOVE” button.&#x20;

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXermSb2-_8iNm6vw3StqTUPEt8H3XnIkZfTlMPxSBGNeM0VY0ZAVk9anQOTnIiqnSi5GYY-cWwVRO8vA9VfBN8RxiRwEWm4h-7uLlKQOsAn2mP7nHc9ql0YVUzz8ghEQd4uJglt?key=8Z1eg4xR35tiI54ylUMbhvmf)

**Step 3:**

After you click the “Move” button, you will see the page below. Specify the amount you want to transfer.&#x20;

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcWIfndCpnDFTd3yTD8AdTL4yliG4OinDyM6Bz2dnsTcZT5bukA9DFdiCJHgWomD6OjvcDSw2G1z9ID7RSvQToq17SNFrSU1bHe-vM8x-2LY-7akIlvzehgZLYeMdilRrzRmKzO7A?key=8Z1eg4xR35tiI54ylUMbhvmf)

**Step 4:**\
Your assets are transferred on Flow EVM. Now, go to [Pumpflow.meme](https://www.pumpflow.meme/) and you're ready to explore PumpFlow—enjoy the experience!

### &#x20;**Transfer Your Funds from other EVMs to Flow EVM**&#x20;

If you already have funds on other EVM chains, you can easily transfer your funds to Flow EVM.

**Step 1:**

Use a Flow-compatible bridge (e.g., [Celer Bridge](https://cbridge.celer.network/1/747/USDC-intermediary)). Currently, it only supports USDC. Connect your Flow wallet to the bridge interface. Specify the amount and token type, then confirm the transfer to Flow EVM.&#x20;

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXflWH5IE8WcqB2uIquKtrp2ykyFEzlbYAgfXhZ82cE2yAYT7kyiQwFv2ok-46MVDi4dwFAnWZKz_SPaZe6NJo1RLFTRwil8vOZa3R4kqX6-mV2wqREbvIFCZJRPNx4fr0ozjGBTFw?key=8Z1eg4xR35tiI54ylUMbhvmf)

**Step 2:**

To surf on big waves, you need to get some FLOW. We are recommending:

* [PunchSwap](https://swap.kittypunch.xyz/?tokens=0x7f27352D5F83Db87a5A3E00f4B07Cc2138D8ee52-0x0000000000000000000000000000000000000000)
* [Trado](https://spot.trado.one/trade/swap)

\
**Step 3:**\
HAVE FUN while surfing on PumpFlow.

Connect Your Mobile Flow Wallet to PumpFlow

{% embed url="<https://fcljjsnuzjacwqgiqiib.supabase.co/storage/v1/object/public/assets/IMG_1623.MP4>" %}


# Fee Mechanism

PumpFlow sustains its operations through a transparent fee structure:

* Transaction Fee: 1% fee applied to every token trade on the platform.
* Creation Fee: A one-time fee of 3 Flow for creating tokens.
* Migration Fee: 5% fee for migrating tokens to a DEX.


# How PumpFlow Works

PumpFlow operates using a bonding curve model that balances token price and supply, creating a transparent and fair launchpad for community and meme tokens.

* **Token Creation:** Tokens are launched with a bonding curve mechanism that ensures price stability as supply increases.
* **Funding Milestone:** When a token raises 9,999 FLOW in funding, it qualifies for migration to PunchSwap.
* **Market Cap on Migration:** Upon migration to PunchSwap, the token's approximate market cap will be 47,500 FLOW.

This process makes PumpFlow seamless, secure, and ideal for launching tokens with confidence.

<br>


# How to Create a Token

Launching your token has never been easier.

**Steps to Create Your Token:**

* Log in to PumpFlow and navigate to the "Create Token" page.
* Decide whether to create your token with X verified or not.
* Input basic details:
  * Image.
  * Token Name.
  * Ticker.
  * Description.
  * Initial Purchasing (optional).
  * Telegram Group Link (optional).
  * Website (optional).

**Finalize** **and** **Launch** **:**

* Pay the transaction fee to deploy your token.
* Share your token details with the community to build visibility.


# Contract Interaction ( Testnet)

This document will help you to build on chain applications using create, buy & sell methods on the tokens created on pump.flow.

## PumpFlowTokenFactory Documentation

### Fundamental Functions

#### `createMemeToken`

```solidity
function createMemeToken(
    string memory name,
    string memory symbol,
    uint256 fundingRaised,
    string memory uniqueId
) public payable returns (address)
```

**Description**

Creates a new meme token on the PumpFlow platform. A platform fee (3 FLOW) is required, and users can optionally provide initial funding to receive tokens immediately.

**Parameters**

* `name`: The name of the new meme token.
* `symbol`: The symbol of the meme token.
* `fundingRaised`: Amount of native blockchain currency (FLOW) allocated for initial funding.
* `uniqueId`: A unique identifier to prevent duplicate token creation.

**Requirements**

* User must send at least `memetokenCreationPlatformFee + fundingRaised` as `msg.value`.
* `uniqueId` must be unique.

**Process**

1. Verify sufficient `msg.value`.
2. Ensure `uniqueId` has not been used before.
3. Deduct platform fee and send it to the fee collector.
4. Deploy new meme token contract.
5. If `fundingRaised > 0`:
   * Deduct trading fee.
   * Calculate token amount using the bonding curve.
   * Transfer tokens to the creator.
6. Store token details and update platform records.
7. Emit events.

**Events Emitted**

* `MemeTokenCreated`: Contains details of the new token.
* `BoundingCurveCreated`: Details the bonding curve setup.
* `BondingCurveReached`: Emitted if initial funding exceeds the bonding curve threshold.

***

#### `buyTokens`

```solidity
function buyTokens(
    address memeTokenAddress,
    uint256 totalCost
) public payable nonReentrant
```

**Description**

Allows users to purchase meme tokens using a bonding curve pricing model.

**Parameters**

* `memeTokenAddress`: Address of the meme token.
* `totalCost`: Amount (in native currency) the user is willing to spend.

**Requirements**

* User must send `msg.value` ≥ `totalCost`.
* Token must not be blocked or have reached its bonding curve limit.
* Maximum of 805 million tokens can be sold before DEX integration.

**Process**

1. Verify `msg.value` is sufficient.
2. Ensure token is not blocked and hasn't exceeded bonding curve limits.
3. Deduct trading fee.
4. Calculate tokens purchasable using bonding curve.
5. Transfer tokens to the user and update metrics.
6. Emit events.

**Events Emitted**

* `TokensPurchased`: Contains details of the purchase.
* `BondingCurveReached`: Emitted if token reaches bonding curve limit.

***

#### `sellTokens`

```solidity
function sellTokens(
    address memeTokenAddress,
    uint256 numTokens
) public payable nonReentrant
```

**Description**

Allows users to sell their meme tokens back to the platform in exchange for native currency based on the bonding curve.

**Parameters**

* `memeTokenAddress`: Address of the meme token.
* `numTokens`: Number of tokens to sell.

**Requirements**

* Caller must own at least `numTokens` of the specified token.
* Bonding curve must not have been reached.
* Platform contract must have enough funds for refund.
* Caller must approve the contract to transfer tokens on their behalf.

**Process**

1. Ensure token is not blocked and hasn't reached bonding curve.
2. Verify caller's token balance and contract's funds.
3. Calculate refund amount using bonding curve formula.
4. Deduct trading fee from refund.
5. Transfer tokens from user to contract.
6. Send refund (minus fees) to user.
7. Update bonding curve metrics.
8. Emit events.

**Events Emitted**

* `TokensSold`: Contains details of the sale.

***

#### `getBoundingCurvePercentage`

```solidity
function getBoundingCurvePercentage(
    address memeTokenAddress
) public view returns (uint256)
```

**Description**

Retrieves the percentage progress of a meme token’s current supply relative to its bonding curve threshold.

**Parameters**

* `memeTokenAddress`: Address of the meme token.

**Returns**

* A percentage value (scaled by 100) indicating bonding curve progress.

***

#### `getRemainingTokensInLaunchpad`

```solidity
function getRemainingTokensInLaunchpad(
    address memeTokenAddress
) public view returns (uint256)
```

**Description**

Fetches the remaining token balance in the launchpad for a specific meme token.

**Parameters**

* `memeTokenAddress`: Address of the meme token.

**Returns**

* The number of tokens remaining in the launchpad.

***

#### `getAllMemeTokens`

```solidity
function getAllMemeTokens() public view returns (MemeToken[] memory)
```

**Description**

Returns a list of all meme tokens created through the platform, excluding blocked tokens.

**Returns**

* An array of `MemeToken` structs containing token details.

***

### Important Notes for Developers

#### Token Approval

Before calling `sellTokens`, ensure you call the `approve` function of the respective meme token contract to allow the factory to handle the tokens on your behalf.

***

### Contract Addresses (Testnet)

| Contract Name            | Contract Address                             |
| ------------------------ | -------------------------------------------- |
| **PumpFlowTokenFactory** | `0xBBfA869CF253aB76742AB9bc7902f783546BC830` |

***

### PumpFlowTokenFactory Contract ABI

```json
[
    {
        "inputs": [
            { "internalType": "string", "name": "name", "type": "string" },
            { "internalType": "string", "name": "symbol", "type": "string" },
            { "internalType": "uint256", "name": "fundingRaised", "type": "uint256" },
            { "internalType": "string", "name": "uniqueId", "type": "string" }
        ],
        "name": "createMemeToken",
        "outputs": [
            { "internalType": "address", "name": "", "type": "address" }
        ],
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "inputs": [
            { "internalType": "address", "name": "memeTokenAddress", "type": "address" },
            { "internalType": "uint256", "name": "totalCost", "type": "uint256" }
        ],
        "name": "buyTokens",
        "outputs": [],
        "stateMutability": "payable",
        "type": "function"
    }
]
```

***

### Meme Token Contract ABI

```json
[
    {
        "inputs": [
            { "internalType": "address", "name": "spender", "type": "address" },
            { "internalType": "uint256", "name": "value", "type": "uint256" }
        ],
        "name": "approve",
        "outputs": [
            { "internalType": "bool", "name": "", "type": "bool" }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    }
]
```


# FAQ

<details>

<summary>How does PumpFlow ensure trust and transparency ?</summary>

PumpFlow uses X (Twitter) authentication to verify token creators, ensuring legitimacy and eliminating concerns about scams.&#x20;

</details>

<details>

<summary>What is the bonding curve threshold in PumpFlow ?</summary>

When funding raised of token hits 9999 Flow, token will be migrated to PunchSwap.&#x20;

</details>

<details>

<summary>What is the market cap of the token when it is migrated to DEX ?</summary>

Upon migration to PunchSwap, the token's approximate market cap will be around 47,500 FLOW.

</details>

<details>

<summary>How is token price determined during trading ?</summary>

In pumpflow, token price is determined by the bonding curve.

</details>

<details>

<summary>My transaction failed. What should I do ?</summary>

Ensure sufficient Flow tokens are in your wallet for fees and verify all wallet addresses. Contact support via our telegram group if the issue persists.

<br>

</details>

<details>

<summary>What is the meaning of rug free ?</summary>

On the token migration process, PumpFlow burns the LP tokens. In this way, nobody controls the liquidity pool on PunchSwap.

</details>


