A signed-in wallet writes a question, 2 to 10 answers, a closing time and an optional cover image stored on IPFS. Opening it costs $0.50 and the topic is live the moment the transaction lands.
The contract reads the Chainlink ETH/USD price in the same block and charges exactly fifty cents of ETH. The fee goes straight to the treasury; anything sent above it comes back to the voter in the same transaction.
Tallies are read directly from the contract every few seconds and new ballots stream in from the chain's own event log. There is no server holding the numbers and nothing to refresh.
When the vote confirms you get the hash and the block it landed in. Paste it into any Robinhood Chain explorer: the voter, the option and the fee are all there, and no one can take them back.
Connect a wallet that supports Robinhood Chain and sign one free message. No email, no password, no transaction.
Pick an answer and approve $0.50 in ETH. One wallet gets one ballot per topic, enforced by the contract.
Get the transaction hash the second your vote confirms, and watch the tally shift with everyone else's.
Ask your holders, your server or your followers anything with a clear set of answers. The question, every option and every ballot live in the contract, so a screenshot is never the source of truth.
Because each vote costs $0.50, a flood of throwaway wallets gets expensive fast — the result reflects people who cared enough to pay for a say.
// Open a topic from any script — viem shown here
const fee = await client.readContract({
address: VOTING_CLARITY,
abi,
functionName: "quoteTopicFee", // $0.50 in wei
});
await wallet.writeContract({
address: VOTING_CLARITY,
abi,
functionName: "createTopic",
args: [
"Which feature should ship first next quarter?",
"", // description
"bafy…", // IPFS image CID, optional
["Yes", "No"], // 2–10 options
7n * 24n * 3600n, // open for 7 days
],
value: fee + fee / 20n, // small cushion; the contract refunds the excess
});$VOTING is the token behind Voting Clarity. Fees are paid in ETH, and every topic and every ballot sends its fee to the treasury that funds the project and its community.
