Walrus-native feedback and form protocol

Forms with proof.
Responses with privacy.

Forms are Sui NFTs. Responses are encrypted Walrus blobs. A composable primitive any dApp can embed, audit, and reward without owning a private database.

Seal encrypted·Walrus blobs·Sui receipts·~0.002 WAL / response

Walform

LIVE

Walrus sessions feedback

Seal enabled

What worked well?

Long text
Required

Overall rating

Scale 1-10
Required

Attach screenshot

File upload

0

responses

0.0

avg rating

0

SBT receipts

Try the live demo

Everything lives on Walrus

Composable building blocks for verifiable, private feedback.

Form builder

Every form is a Sui NFT with reusable fields, policies, and on-chain metadata.

Blob storage

Responses are stored as Walrus blobs instead of rows in a centralized database.

Seal encryption

Threshold decryption keeps raw feedback private until authorized parties can inspect it.

Composable primitive

Move views expose counts and aggregate ratings for any Sui app to read.

Bounty payouts

Escrow WAL to reward approved responses, reports, and useful feedback.

On-chain proof

Submitters receive non-transferable receipts without revealing private answers.

Meet Founder Fina Persona

A representative persona for solo or 2-person teams shipping a Sui/Walrus dApp

Founder Fina
Role
Web3 product founder
Team
1-2 people
Stage
MVP + community
Tech
Sui + Walrus + Move
Goal
Collect verifiable feedback, prove it is real, keep it private

Pain points

  • Google Forms can't prove submission counts
  • Typeform caps break large community polls
  • Teams need privacy without leaking PII
  • Bots ruin airdrop signup forms
  • On-chain users are hard to verify
Goal: collect verifiable feedback, prove it is real, keep it private, pay submitters fairly.

What no competitor has

Walrus quilts

Sub-cent storage at scale for millions of responses.

Seal threshold

Multi-admin decrypt with policy-based access.

Walrus Sites ready

Deploy as a Walrus Site with one command. No central server.

Move primitive

Form is a Sui object, not SaaS metadata.

How it works

01

Build your form

Create fields, policies, bounty, and access rules.

02

Publish to Walrus

Form schema is stored as a Sui-linked Walrus blob.

03

Collect encrypted responses

Answers encrypt with Seal and land on Walrus.

04

Decrypt and analyse

Admins decrypt, review entries, and export insights.

Composable for developers

Call Walform Move functions directly from your own Sui dApp. SDK available as an internal package.

form::create_form

Create a new form Sui NFT

form::submit_response

Submit encrypted response

form::count_responses

Count responses (view, no gas)

form::aggregate_rating

Aggregate rating (view, no gas)

bounty::approve_response

Approve response + payout bounty

TypeScriptExample
// Create a form
const tx = new Transaction()
tx.moveCall({
  target: PACKAGE_ID + "::form::create_form",
  arguments: [
    tx.pure.vector("u8", schemaBlobId),
    tx.pure.u64(schemaVersion),
  ],
})

// Composable reads — any dApp, no gas, no signing
const result = await client.devInspectTransactionBlock({
  transactionBlock: (() => {
    const tx = new Transaction()
    tx.moveCall({
      target: PACKAGE_ID + "::form::count_responses",
      arguments: [tx.object(formId)],
    })
    tx.moveCall({
      target: PACKAGE_ID + "::form::aggregate_rating",
      arguments: [tx.object(formId), tx.pure.vector("u8", fieldId)],
    })
    return tx
  })(),
  sender: "0x0",
})

Predictable costs

Pay for storage, not response caps. Quilts drive response storage down at scale.

~0.002 WAL

per response

Example single-field text response

~0.08 WAL

per 1,000 responses

Example mix of fields

Start collecting feedback that actually proves something

No accounts. No databases. Encrypted blobs, verifiable Sui objects, and bounty escrow for reputation.