# Sakartvelo Exchange **A working demonstration that privatization can have a real primary market — built, deployed, and verified on Arbitrum One.** ## The problem Every large-scale privatization has failed the same way, twice. Sell state assets for cash, and only people who already have capital can buy in. Give them away as free vouchers instead — the historical "fairer" alternative — and ownership still ends up right back with whoever had capital, just a few months later, because the vouchers were tradable from day one and got sold cheap under financial pressure. Crypto has quietly reproduced the same failure at industry scale: most tokens are tradable the instant they're minted, with no real primary-market phase standing between issuance and speculation. That's not a side effect of bad token design — it's a structural gap. Traditional finance solves this with a real separation between primary allocation and secondary trading. Crypto, and historical privatization alike, usually don't have one. ## What we built A three-phase mechanism — **monetization, privatization, capitalization** — that reconstructs that missing separation, live on-chain: - **Monetization**: citizens receive an equal, one-time allocation of a currency that cannot be resold or gifted — only spent bidding on real assets. - **Privatization**: that currency competes in a proportional, multi-round auction. Unfilled bids carry forward automatically; settlement cost is mathematically bounded regardless of how large a company's total share count is. - **Capitalization**: the currency's transfer restriction lifts — permanently, for everyone — only once real, on-chain progress (a company crossing 51% sold) proves privatization is genuinely underway. Not a calendar date. Not an announcement. A verifiable fact. ## What's actually live, right now Ten companies. Real auctions. Real governance — shareholders elect term-limited governors with rotating operating keys, not standing control. A real treasury layer with sealed-bid asset sales and shareholder-voted vendor payments. All five contracts verified on Arbiscan, Sourcify, and Blockscout — anyone can read the exact logic running this, not just take our word for it. ## Why it's worth building on Arbitrum Because the interesting part of this project isn't the idea — plenty of people have written about crypto's missing primary market. The interesting part is what happens when you actually try to build it: we found and fixed a real unbounded-gas vulnerability in our own settlement logic before it could lock anyone's funds, documented it publicly, and formalized the fix as a provable bound. That's the difference between a whitepaper and a working system — and Arbitrum's low, predictable gas costs are what made iterating on that fix fast enough to actually catch it. ## What's honest about where this stands This is a fictional simulation, not a real financial product — every contract says so explicitly. We have no proof-of-personhood, no formal game-theoretic proof of the auction's incentive properties, and no professional security audit yet. We say this plainly because a project that hides its limitations is less trustworthy than one that names them — and because closing exactly these gaps is what we're building toward next.



Sakartvelo Exchange is a live, on-chain simulation of a three-phase privatization mechanism — monetization, privatization, capitalization — deployed as five Solidity contracts on Arbitrum One.
1. Verify. Any wallet holding a small minimum ETH balance can self-verify as a citizen through OpenVerifier — no admin approval needed. This is a deliberate, stated tradeoff: it raises the cost of throwaway-wallet farming without claiming to be real proof-of-personhood.
2. Claim. A verified citizen claims a fixed, equal allocation of INVEST — a closed-loop ERC-20 token. Its transfer function is overridden so it can only move into the auction contract or an authorized treasury sink; a direct wallet-to-wallet transfer simply fails. This is the mechanism's core: the currency can be spent, but not cashed out.
3. Bid. INVEST is spent bidding on real, listed companies through RoundAuction, a proportional multi-round auction: each round's lowest active bid sets a baseline unit, every other bid gets shares proportional to how far above baseline it sits, and unfilled bids automatically carry into the next round — no re-bidding required.
4. Win. Winning bids mint ERC-721 "Sovereign Share" NFTs with fully on-chain SVG metadata — no external image host, no broken links if anything else ever goes down. Each token encodes its company, its share number, and the company's total supply, readable directly from contract storage.
5. Govern. Once a company crosses 50% of shares assigned, shareholders can declare candidacy and vote — weighted by shares held — in a runoff election requiring a genuine 51% majority. The winner doesn't govern with their personal wallet: each term requires registering a fresh, single-purpose operating key that expires automatically at term end, so a compromised key from a past term carries zero risk forward.
6. Manage treasury. The elected governor can move a small, capped share of company assets freely; anything larger requires either an open sealed-bid sale (commit-reveal, so the governor never learns bidder identity before settlement) or a direct 51% shareholder vote for a fixed vendor payment.
7. Unlock. Once any single company crosses 51% of its shares sold — real, on-chain, unfalsifiable evidence — INVEST's closed-loop restriction lifts globally and permanently for every wallet. This is the capitalization phase: the currency, and the assets it purchased, enter conditions resembling a real secondary market, but only once genuine allocation progress has actually happened.
Contract | Role |
|---|---|
| Closed-loop ERC-20, citizen allocation, transfer-restriction logic |
| Proportional multi-round auction, ERC-721 shares, governance, treasury gatekeeping, 1% host fee |
| Dividend distribution, multi-asset custody, sealed-bid treasury auctions, vendor payment votes, INVEST secondary market |
| Permissionless, balance-gated citizen self-verification |
| An alternate one-shot sealed-bid mechanism (built, verified, currently unused for real listings — kept as a documented design comparison) |
Solidity ^0.8.20 (compiled with viaIR for stack-depth reasons in the larger governance functions), OpenZeppelin ERC-20/ERC-721/Ownable, deployed and verified on Arbitrum One via Sourcify, Etherscan/Arbiscan, and Blockscout. Frontend: React + Vite, ethers.js v6, real routed pages (not a single-page state hack) for SEO, deployed on Vercel.
During development, an earlier version of the settlement logic had no cap on shares minted per transaction — meaning a company with a large total share count could, at real scale, produce a settlement call expensive enough to exceed a block's gas limit. Because a reverted transaction restores all prior state, that failure would repeat identically forever: the company would become permanently unfinalizable, funds locked with no recovery path. We caught this before any real capital was exposed to it, fixed it with a hard per-call issuance cap (a known mitigation pattern, SWC-128, applied and formally verified for this specific mechanism), and documented the whole thing publicly rather than quietly patching it. The full academic writeup, including this finding formalized as a proven proposition, is published and citable.