🎬 Voting Platform: General Scenario

Step-by-step scenario suggested by the platform — from organizer registration to final poll results audit


📋 Scenario Participants

🔹 STEP 1: Organizer Registration

Organizer actions:

  1. Signs a contract with the platform provider
  2. Makes a deposit to the community treasury
  3. Assigns an operator (responsible for poll management)

    Organizer form with filled fields

  4. Optionally configures access to the private member registry (API)

    Organizer API specification

  5. System sends an activation invitation to the operator (wallet setup required)

🔹 STEP 2: Community Creation and Inviting Members to Community

Operator actions:

  1. Downloads Flutter app (iOS/Android) or opens web version
  2. Registers using the invitation link from the platform (email/phone confirmation)

    Operator registration

  3. Verifies that the deposit balance is sufficient for the planned member count
  4. Clicks "Create Community" → fills in form:
    • Community Name
    • Description
    • Type
    • Members count

    Community creation form with filled fields

  5. System deploys Community smart contract to blockchain
  6. System deducts a fee (e.g., €10.00) from organizer's deposit
  7. ✅ Community created! Members: 0
  8. Uploads CSV file with community members list (names, phones, emails — GDPR compliant)
  9. System generates unique invitation links for each member
  10. Clicks "Send Invitations" → System sends SMS and email invitations
  11. Members receive notifications:
    • SMS: "You are invited to Community. Link: ..."
    • Email: Detailed instructions with QR code (eIDAS compliant)
  12. System deducts a delivery fee (e.g., €0.01 per SMS/email) from organizer's deposit
  13. ✅ Invitations sent. Status: awaiting join

🔹 STEP 3: Member Joining Community (Wallet Creation)

Member actions:

  1. Receives an invitation and opens a link
  2. Downloads Flutter app (iOS/Android) if needed
  3. Landing page opens: "You are invited to Community"
  4. System checks: The member has no wallet → offers to create one at Community expense
  5. Member creates a password (6+ characters) for login and the wallet encryption

    Community member registration

    🖼️ Authentication & Wallet Architecture

  6. System creates wallet on Cryptounit, stores encrypted key, deducts an on‑chain wallet creation fee (e.g., €0.05) from the organizer's deposit
  7. Invited person automatically becomes Community Member

🔹 STEP 4: Organizer Creates a Poll

Operator actions:

  1. Inside a Community, clicks "Create Poll"
  2. Fills in the form:
    • Question
    • Options
    • Settings: delegation allowed · quorum (%) · duration · start date

    Poll creation form with filled fields

  3. Clicks "Publish" → system deploys poll smart contract
  4. Members receive push notification: "New poll!"

    Proposal to vote

  5. ✅ Poll is active. Status: 0 voted

🔹 STEP 5: Vote Delegation (Member doesn't vote)

Member actions:

  1. Opens app → sees active poll
  2. Clicks "Delegate Vote" → searches for trusted person among Community members
  3. Selects a person
  4. Confirms delegation (signs with private key, gas fee paid by organizer)

    Vote delegation

  5. Delegate receives notification → accepts or rejects. If rejected, the delegation is cancelled and the member is notified.
  6. Delegate vote weight increased by 1 (now 1 own + 1 delegated = 2 votes)

    Delegate dashboard


🔹 STEP 6: Voting (Regular Member & Delegate)

Voting participant actions:

  1. Opens app → sees active poll
  2. System shows: "You are voting for yourself [and for delegators]"
  3. Selects a choice
  4. Confirms with wallet password
  5. System signs transaction, sends to blockchain
  6. Small fee deducted (e.g., €0.01) from organizer's deposit
  7. ✅ Screen: "Your vote has been recorded (weight = X)."

🔹 STEP 7: Real-time Monitoring of Voting Progress

What anyone can see in real time (participants in app, others on web):

Real-time monitoring


🔹 STEP 8: Poll Closure & Results Finalization

At final time — smart contract automatically closes the poll

  1. Smart contract finalizes results — they cannot be changed
  2. Calculates final turnout and results
  3. All members receive notification with results
  4. Anyone can open blockchain explorer and verify every vote
  5. Results are legally binding (eIDAS compliant) if the organizer's member registry was properly verified.
  6. ✅ Poll completed

🔹 STEP 9: Results Export & Board Report

Organizer/operator/observer actions after completion:

  1. Clicks "Export Results"
  2. Selects format: CSV (for Excel) or PDF (for archive)
  3. System generates report including:
    • Overall statistics (turnout, quorum, winner)
    • Results per candidate/choice
    • List of delegations
    • Smart contract hash and link to blockchain explorer
  4. Saves report → presents to community board for minutes
  5. ✅ Legally binding document ready (admissible as evidence)

Final pool results screen


🔹 STEP 10: Audit & Independent Verification

Auditor actions after poll completion:

  1. Logs into the Auditor Portal using an API key or certificate
  2. Selects the completed poll from the list
  3. Reviews:
    • Full raw vote list (pseudonymised wallets, timestamps, transaction hashes)
    • Cryptographic proofs (Merkle root, signature verification)
    • Smart contract bytecode hash (confirms no changes after deployment)
    • Integrity report (auto‑verified: vote count, quorum, no votes after deadline)
  4. Exports audit data:
    • CSV / JSON for external analysis
    • Full audit report (PDF) with cryptographic attestations
  5. Optionally signs the report with the auditor's digital signature
  6. ✅ Independent verification complete — results are mathematically proven, no trust required

Auditor portal

Auditor API specification




⚠️ Important for large‑scale elections (millions of voters):
The example below shows technical gas & wallet costs for a community of 1,000 members. For a country‑wide poll (e.g., 2 million voters), the total budget includes licensing, audit, SLA, integration, and monthly platform fees — please contact us for a custom quote.
📊 Scenario example: 1000 members

Parameter Value Cost
Community registration Smart-contract deployment €10.00
Total community members  1000  €10.00 (SMS/email delivery for 1000 members)
Wallets created at organizer's expense 1000 (all members) €50.00 (0.05 * wallet count)
Poll creation Smart-contract deployment €10.00
Delegated votes 104 €1.04 (0.01 * 104 actions)
Real participants 766 €7.66 (0.01 * 766 actions)
Votes cast 870 (87%)
Initial deposit spent Community, members € 70.00
Deposit spent Poll € 18.70
Time from poll creation to result 5 days (fully automated)  
Time per member to vote ~30 seconds  

🎯 Key Takeaways