Skip to content
Ostrakon

$OSTRA is not launched. No CA. The only source of truth is @OstrakonElysium.

04 · Documentation

Ekklesia

The 48-hour vote where holders decide an exile with their snapshot balances.

The Ekklesia was the assembly of Athens. Every citizen could speak. Every citizen could vote. On Elysium, every holder at the snapshot can.

The Ekklesia contract runs the vote on a Shard. It counts. It decides. It does not take sides.

Opening

The vote begins when anyone calls open on a Shard that has survived its 24-hour challenge window. From that moment, the vote lasts 48 hours.

Voting

A holder votes with one call: vote(shardId, support, balance, proof).

They state yes or no, their snapshot balance, and a Merkle proof that the balance is in the Shard's root. The contract checks the proof. If it holds, the vote counts with that weight.

Weight is the snapshot balance

Your weight is what you held at the snapshot block. Nothing else.

  • Selling after the snapshot does not change your weight.
  • Buying after the snapshot gives you none.

No one can buy a vote once the Shard is public. No one loses a vote by trading during it.

One vote, final

Each address votes once. The vote cannot be changed or withdrawn. The contract keeps a record, readable from hasVoted(shardId, voter).

A holder with several wallets votes from each one, with each wallet's own snapshot balance.

The named cannot vote

The addresses named in the Shard cannot vote. Their balances are not part of the electorate. The accused do not sit on the jury.

Quorum

The quorum is 20 % of non-exiled supply.

Non-exiled supply is the snapshot total supply minus the balances recorded for the named addresses. Both numbers were fixed when the Shard was proposed.

Yes and no both count toward quorum. A holder who votes no still helps the vote reach a decision.

Passing

An exile passes when quorum is reached and more than 66 % of the votes cast are yes.

Two thirds is a high bar on purpose. Exile is not a majority decision. It is a near-consensus.

Worked example

Amount
Snapshot total supply1,000,000
Recorded balances of the named200,000
Non-exiled supply800,000
Quorum, 20 %160,000
Yes140,000
No40,000
Votes cast180,000
Share of yes77.8 %

Votes cast exceed quorum. Yes exceeds 66 %. The exile passes.

Had the same vote closed at 110,000 yes and 70,000 no, quorum would still be reached. Yes would be 61.1 %. The exile would fail, and the bond would still go home.

Finalize

After 48 hours, anyone can call finalize(shardId). There are three outcomes.

OutcomeBondWhat follows
Quorum not reachedBurnedThe Shard closes. The token is free for a new Shard.
Quorum reached, vote failedReturned to the proposerThe Shard closes. The token is free for a new Shard.
Quorum reached, vote passedReturned to the proposerExile forges the new token in the same transaction.

The bond rewards a proposal that the holders took seriously, whatever they decided. It punishes a proposal that no one came to vote on.

A passed vote does not wait for anyone. The same call that finalizes it forges the new token and writes the outcome to the Stele.

Reading the tally

The running count is public. tally(shardId) returns yes, no, and the quorum. Anyone can watch the vote move in real time.

Parameters

ParameterValue
Voting period48 hours
Quorum20 % of non-exiled supply
Pass thresholdmore than 66 % yes of votes cast
Votes per address1, final
Who can finalizeAnyone, after 48 hours

Next: Exile.