Launch forms, waitlists, and surveys for your community with the best form builder in web3.
- π Token gating. 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.
- π World ID proof-of-personhood verification.
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.
- Go to the Formo Dashboard
- Click Forms in the left navigation
- Click Create Form
- 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
Templates come with pre-built questions you can customize. Starting from a template saves time.
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:
- Click Settings in the form builder toolbar
- Toggle Token Gating to enable
- Click Add Requirement
- Configure your requirement:
ERC-20 Token
NFT Collection
Contract Read
World ID
- 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)
- Select NFT as the type
- Choose the chain
- Paste the NFT contract address
- Optionally set minimum quantity
- 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
- Select World ID as the type
- Users must verify with World ID before submitting
- See World ID integration
You can add multiple requirements with AND/OR logic.
Step 4: Customize branding
Make your form match your brand:
- Click Design in the form builder toolbar
- 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
- Click Publish in the top right
- Copy your form URL (e.g.,
forms.formo.so/your-form)
- Share the link with your community
Step 6: View responses
As responses come in, view them in the dashboard:
- Go to Forms > select your form
- Click the Responses tab
- Youβll see each submission with:
- Wallet address
- Form answers
- Token verification status
- Submission timestamp
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.
Next Steps