---
description: Step-by-Step example of GumBall's marketplace flow
---

# Protocol Flow

The general flow of GumBall Protocol is as follows:

1. Creator deploys gNFT collection on GumBall. This deploys gNFTs (erc721) and Collection Keys (erc20) in + 1:1 amount.&#x20;
2.  User’s purchase gNFT or Collection Keys with base asset ($WETH, for example) from the ERC20 Bonding Curve

    {% hint style="info" %}
    Collection Keys are ERC20 tokens. Each collection has it's own specific collection Keys. \


    gNFT is an ERC721 NFT. Each collection has it's own gNFTs.&#x20;
    {% endhint %}
3. $WETH from sale remains in ERC20 Bonding Curve for that collection
4. User may swap between gNFTs and Collection Keys using the GumBall Machine
5. Both NFTs and collection tokens can be staked, borrowed against, etc in the GumBar Contract
6. As more gNFTs / collection tokens are bought from a bonding curve, price increases
7. As gNFTs or collection tokens are sold back to a collection’s bonding curve, price decreases
8. Users may sell their gNFT or keys for bonding curve price instantly at any time (minus fees).



<figure><img src="https://1778358387-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwqs3mgbgfeItR3QWNNJA%2Fuploads%2FGqnjILscNvBA5hXB9PEt%2Fflowchart%20(1).png?alt=media&#x26;token=e03cc4b2-0b68-4549-b2dd-66d15a9383c4" alt=""><figcaption></figcaption></figure>
