- STEP 01
Tax
A fixed cut of every $PCL trade routes itself into the treasury. Source address and amount are stamped on-chain as a FeeReceived event before anyone could touch them.
FeeReceived(address from, uint256 amountWei) - STEP 02
Accrue
The tax pools in the contract as ETH. address(this).balance and totalFeesReceivedWei are public reads — anyone can check, at any moment, that the two reconcile.
totalFeesReceivedWei() · balance - STEP 03
Withdraw
When the chest holds enough for a sensible order, the operator moves funds toward the brokerage. Amount, destination and stated purpose go on the record in the same transaction.
WithdrawalExecuted(uint256 id, uint256 amountWei, address to, string purpose) - STEP 04
Buy
At the brokerage, ETH becomes dollars and dollars become shares of a sub-$5 penny stock, bought on the open market. This is one of the steps the chain cannot see — which is exactly why the next one exists.
off-chain execution - STEP 05
Tokenize & attest
After settlement the position is tokenized on-chain — ticker, share count, average price, ETH consumed and the hash of the broker slip are filed. Trading fees from the tokenized basket are then routed back toward shareholders, event by event, in public. A withdrawal that goes 14 days without this filing turns red, sitewide, until the evidence lands.
PurchaseAttested(uint256 id, bytes32 receiptHash, …) · FeesRouted(…)
totalFeesReceivedWei()Lifetime tax received (wei)balanceCurrent ETH balance of the contracttotalPositions()Distinct penny-stock tickers heldtotalSharesAcquiredUnits()Shares acquired, in micro-shares (1 share = 1e6 units)totalCostUsdCents()Lifetime USD deployed into shares (cents)totalFeesRoutedUsdCents()Lifetime fees routed back to shareholders (cents)getStats()One-call snapshot of everything this site displaysimport { JsonRpcProvider, Contract, formatEther } from "ethers"
const provider = new JsonRpcProvider("https://rpc.mainnet.chain.robinhood.com", 4663)
const treasury = new Contract(
"0x0000000000000000000000000000000000000000",
["function getStats() view returns (uint256 balanceWei, uint256 totalFeesReceivedWei, uint256 totalWithdrawnWei, uint256 totalCostUsdCents, uint256 totalSharesAcquiredUnits, uint256 totalPositions, uint256 totalFeesRoutedUsdCents)"],
provider,
)
const s = await treasury.getStats()
console.log("balance:", formatEther(s[0]), "ETH — positions:", Number(s[5]))If the numbers this prints ever disagree with this site, trust the chain — and tell us.
Is this financial advice?+
No. Nothing on this site, in the whitepaper or on-chain is financial advice, investment advice, a recommendation, or an offer or solicitation to buy or sell any security or token. Penny Capital Limited is an experiment. Talk to a licensed professional before risking money anywhere.
Are there dividends or promised returns?+
No. There are no dividends and no promised returns of any kind. Fees routed back to shareholders are discretionary, variable, and can be reduced, delayed or stopped at any time without notice. Treat every routed fee as a surprise, never an entitlement.
Why penny stocks? Aren't they dangerous?+
Yes, and that is stated plainly rather than hidden. Penny stocks are thinly traded, easily manipulated and can lose all of their value. The basket is speculative to its core. The experiment asks whether a crowd's attention can be converted into a transparent, tokenized record of owning the market's riskiest corner — not whether that corner is safe.
Why is there an “unreconciled balance”?+
A withdrawal lands on-chain before the broker trade settles, so for a while the money is out but the receipt does not exist yet. That window is the unreconciled balance. If it stays above zero for long, some withdrawal is missing its evidence — and this site keeps it red until it isn't.
Can I verify these numbers myself?+
Yes — and you should. The contract address and network are in the footer, every getter is public, and the event log is complete. This site does no processing; it typesets what the chain says.
What can the operator do with the money?+
Everything, immediately. This is an experimental project and the contract says so in its source: the operator has full and instant custody — withdraw moves ETH anywhere with no delay. What the contract guarantees is that nothing can happen quietly: every movement is a public, permanent on-chain event, and this site will show it within a poll cycle.