> ## Documentation Index
> Fetch the complete documentation index at: https://docs.formo.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Form builder

> Build and customize token-gated forms, waitlists, and surveys for your web3 community with drag-and-drop fields and wallet-connected responses.

<Frame caption="Use Formo's Form Builder to create and customize forms for your community.">
  <img src="https://mintcdn.com/formo/Qbe3dL6juMIXAS6y/images/token-gated-forms-form-builder-0.png?fit=max&auto=format&n=Qbe3dL6juMIXAS6y&q=85&s=1cea22f9ec6fbd0cbb86ab597572508c" alt="Token Gated Form Builder" width="1563" height="763" data-path="images/token-gated-forms-form-builder-0.png" />
</Frame>

Launch forms, waitlists, and surveys for your community with the best form builder in web3.

* 🔑 <a href="/features/token-gated-forms/token-gating">**Token gating.**</a> Gate access by token ownership, NFT collections, or other onchain credentials.
* ✅ **Verified socials.** Verify Twitter accounts, Discord usernames, Farcaster, and more.
* 🎨 **Custom branding.** Customize your backgrounds, colours, and logo to match your brand.
* 🎨 **Template library.** Choose from a variety of form templates or build your own.
* 🌐 <a href="/features/token-gated-forms/world-id">**World ID**</a> proof-of-personhood verification.

<Frame caption="Share your forms.">
  <img src="https://mintcdn.com/formo/Qbe3dL6juMIXAS6y/images/token-gated-forms-form-builder-1.png?fit=max&auto=format&n=Qbe3dL6juMIXAS6y&q=85&s=d0e23b59fb97a69b0640759df1465418" alt="Token Gated Form Builder" width="1033" height="651" data-path="images/token-gated-forms-form-builder-1.png" />
</Frame>

<Frame caption="View all of your form responses.">
  <img src="https://mintcdn.com/formo/Qbe3dL6juMIXAS6y/images/token-gated-forms-form-builder-2.png?fit=max&auto=format&n=Qbe3dL6juMIXAS6y&q=85&s=e96ee954ef6d0254d911c3b392c14d48" alt="Token Gated Form Builder" width="1537" height="394" data-path="images/token-gated-forms-form-builder-2.png" />
</Frame>

***

## How to create your first token-gated form

Build and launch a token-gated form in under 10 minutes. This guide walks you through creating a form, adding token requirements, customizing branding, and viewing responses.

### Step 1: Create a new form

1. Go to the [Formo Dashboard](https://app.formo.so)
2. Click **Forms** in the left navigation
3. Click **Create Form**
4. Choose a template or start from scratch:
   * **Waitlist** - Collect emails and wallet addresses
   * **Survey** - Gather feedback from your community
   * **Application** - Accept applications for grants, allowlists, etc.
   * **Blank** - Start with an empty form

<Tip>Templates come with pre-built questions you can customize. Starting from a template saves time.</Tip>

### Step 2: Add form fields

The form builder uses a drag-and-drop interface. Add fields by clicking the **+** button or dragging from the sidebar.

**Available field types:**

| Field               | Use case                                                     |
| ------------------- | ------------------------------------------------------------ |
| **Wallet**          | Capture connected wallet address (required for token gating) |
| **Email**           | Collect email addresses                                      |
| **Short Text**      | Single-line responses                                        |
| **Long Text**       | Multi-line responses                                         |
| **Multiple Choice** | Select one option from a list                                |
| **Checkboxes**      | Select multiple options                                      |
| **Twitter**         | Verify and capture Twitter handle                            |
| **Discord**         | Verify and capture Discord username                          |
| **Farcaster**       | Verify and capture Farcaster ID                              |

### Step 3: Enable token gating (optional)

To restrict form access based on token ownership:

1. Click **Settings** in the form builder toolbar
2. Toggle **Token Gating** to enable
3. Click **Add Requirement**
4. Configure your requirement:

<Tabs>
  <Tab title="ERC-20 Token">
    * Select **ERC-20** as the type
    * Choose the chain (Ethereum, Base, Arbitrum, etc.)
    * Paste the token contract address
    * Set minimum balance (e.g., 100 tokens)
  </Tab>

  <Tab title="NFT Collection">
    * Select **NFT** as the type
    * Choose the chain
    * Paste the NFT contract address
    * Optionally set minimum quantity
  </Tab>

  <Tab title="Contract Read">
    * Select **Contract Read** as the type
    * Choose the chain
    * Paste the contract address and ABI
    * Select a read function (e.g., `balanceOf`, `stakedAmount`)
    * Set the comparison operator and expected value
    * See [Contract Read guide](/features/token-gated-forms/token-gating#contract-read)
  </Tab>

  <Tab title="World ID">
    * Select **World ID** as the type
    * Users must verify with World ID before submitting
    * See [World ID integration](/features/token-gated-forms/world-id)
  </Tab>
</Tabs>

You can add multiple requirements with AND/OR logic.

### Step 4: Customize branding

Make your form match your brand:

1. Click **Design** in the form builder toolbar
2. Customize:
   * **Logo** - Upload your project logo
   * **Background** - Set a color or upload an image
   * **Colors** - Match your brand colors
   * **Font** - Choose from available fonts

### Step 5: Publish and share

1. Click **Publish** in the top right
2. Copy your form URL (e.g., `forms.formo.so/your-form`)
3. Share the link with your community

<Frame caption="Share your form via direct link, embed, or social media.">
  <img src="https://mintcdn.com/formo/Qbe3dL6juMIXAS6y/images/token-gated-forms-form-builder-1.png?fit=max&auto=format&n=Qbe3dL6juMIXAS6y&q=85&s=d0e23b59fb97a69b0640759df1465418" alt="Share form" width="1033" height="651" data-path="images/token-gated-forms-form-builder-1.png" />
</Frame>

### Step 6: View responses

As responses come in, view them in the dashboard:

1. Go to **Forms** > select your form
2. Click the **Responses** tab
3. You'll see each submission with:
   * Wallet address
   * Form answers
   * Token verification status
   * Submission timestamp

<Frame caption="All responses are available in the dashboard with export options.">
  <img src="https://mintcdn.com/formo/Qbe3dL6juMIXAS6y/images/token-gated-forms-form-builder-2.png?fit=max&auto=format&n=Qbe3dL6juMIXAS6y&q=85&s=e96ee954ef6d0254d911c3b392c14d48" alt="Form responses" width="1537" height="394" data-path="images/token-gated-forms-form-builder-2.png" />
</Frame>

### Example: NFT holder feedback form

Here's a practical example of a token-gated survey:

| Setting           | Value                                                         |
| ----------------- | ------------------------------------------------------------- |
| Template          | Survey                                                        |
| Token requirement | NFT: Your collection address                                  |
| Minimum holdings  | 1 NFT                                                         |
| Questions         | "How did you hear about us?", "What features would you like?" |
| Branding          | Your logo, brand colors                                       |

Only users holding at least 1 NFT from your collection can submit the form.

## FAQ

<AccordionGroup>
  <Accordion title="Which blockchains are supported for token gating?">
    Token gating supports EVM-compatible chains (Ethereum, Base, Arbitrum, Optimism, Polygon, and more) as well as Solana. See the full list of [supported chains](/chains/overview).
  </Accordion>

  <Accordion title="Can I require multiple token conditions (AND/OR logic)?">
    Yes. You can configure multiple token gate conditions and choose whether users must meet all conditions (AND) or any one condition (OR). See [token gating](/features/token-gated-forms/token-gating) for details on configuring multi-condition gates.
  </Accordion>

  <Accordion title="What social accounts can be verified on token-gated forms?">
    You can verify Twitter/X, Discord, Farcaster, Telegram, and more. Additional verification options include Solana wallet, World ID, Human Passport, and Contract Read conditions. Social verification helps you build richer profiles and prevent sybil submissions.
  </Accordion>

  <Accordion title="Can I customize the branding and design of my form?">
    Yes. You can add your logo, set brand colors, customize the background, and configure the form layout. Forms are designed to be embeddable on your own site or shareable as standalone links.
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Token Gating Details" icon="lock" href="/features/token-gated-forms/token-gating">
    Learn about all token gating options
  </Card>

  <Card title="World ID Verification" icon="id-card" href="/features/token-gated-forms/world-id">
    Add proof-of-personhood verification
  </Card>
</CardGroup>
