A solar investment prototype on Ethereum Sepolia. Buy tokenized solar shares, track ownership, and claim simulated energy income through smart contracts and MetaMask.




Sol Invictus: Own the sunshine. Share the future
SOL INVICTUS is a shared solar ownership platform that turns a solar project into digital shares on Ethereum. It targets a real barrier: small investors can’t easily co-own solar assets, and project operators rarely report in a way that investors can check.
How it works
Fractional ownership. The demo project, Cikarang Rooftop Solar (a fictional 10 kWp rooftop system in West Java), is split into 1,000 equal shares. These are ERC-20 tokens called Sol Coins in the app (the deployed symbol is SURYA). Investors buy them with a wallet (MetaMask).
Proportional income. The operator deposits distributable income each month, after operating costs and reserves. Each holder accrues income in proportion to their shares and claims it directly to their wallet. Shares can also be transferred.
Accountability built into the contract. The contract itself enforces rules that investors would otherwise have to take on trust:
Reporting schedule. Reports must be filed monthly, in order, with a 7-day grace period. If a report is overdue, new purchases are blocked, but existing holders can still claim and transfer.
Signed monthly reports. A separate verifier must sign each report (EIP-712). The report and the income deposit succeed together or both revert.
Milestone-gated funding. Money raised from share sales starts locked. A separate reviewer wallet approves each stage before the operator can withdraw it: 30% for equipment, 40% for installation, and 30% for handover.
Reconciliation. The app checks deposited, claimed and reserved income against on-chain events and the contract balance.
Everything was built from scratch in a 24-hour sprint, from the first commit to a deployed, tested product.
Frontend
Designed and built the full app: a sun-wall home page, project page, My Sol Coins portfolio, activity feed with Etherscan receipts, operator lab, and a status mail window.
Added MetaMask connection with automatic Sepolia network switching.
Added on-chain reconciliation of deposited, claimed and reserved income.
Added motion design: scroll reveals, page fades, button sunrays and animated How-it-works lamps.
Hid milestone controls from investors.
Built a wallet-free browser simulation with a controllable clock for demos.
Backend and infrastructure
Deployed a hosted sample-data verifier on InsForge. It signs proofs only for Sepolia, one specific contract, and the configured operator and reviewer roles, and it checks the on-chain roles first. The signing key lives only in server secrets.
Set up CI/CD so tests, build and deploy to GitHub Pages run on every push to
Quality
Wrote automated tests for the contracts, simulation, verification, milestones, wallet and network handling, deployment settings, the cloud verifier and the Pages build.
Ran a real income cycle on Sepolia: a purchase, a verified report, a deposit and a claim.
Next steps after the hackathon: real meter and utility data adapters, independent auditor and reviewer roles, multisig administration, operator and verifier recovery, refunds, and a security audit.
Not currently fundraising, and no external funding raised to date.
SOL INVICTUS was built by the team during the hackathon and is self-funded. The prototype runs entirely on the Ethereum Sepolia testnet with test ETH, so it carries no real capital, and the 1,000 Sol Coins are demo shares with no monetary value.