Little world. Clear rules.
Your portfolio shapes the world. Your care helps your companion grow. Here’s how the two fit together.
Meet your meadow dragon.
Tap your companion or Adopt a pet, choose an egg, and give your friend a name. You start with 12 berries and a free Practice World. Nothing needs to be bought or deposited.
Practice World
Experiment with $10,000 in pretend funds and three fictional assets. Change the allocation or choose the weather. No real money is involved.
Mainnet World
Optionally connect a supported Solana wallet. A read-only snapshot of supported holdings shapes your island. Your pet keeps the same care and progression.
Connecting does not change ownership of your pet, create an account, or back up your save.
A wallet connection, gently.
- Open SolPet in the browser where your wallet is installed, then choose Connect wallet.
- Select a detected Solana wallet and approve sharing its public address in the wallet’s own window.
- Your mainnet holdings load. Choose Practice World at any time, or disconnect from the wallet panel.
Which wallets work?
We discover wallets through Wallet Standard. Current compatible browser extensions include Phantom, Solflare, Backpack, and MetaMask. Other wallets appear when they register compatible mainnet accounts.
MetaMask must have Solana support enabled and expose a Solana account. An Ethereum 0x… address cannot be used here. Support depends on the wallet version and browser; this is not a claim that every wallet is supported.
On mobile, open the site inside a supported wallet’s built-in browser. Universal mobile deep linking and WalletConnect are not included. Wallet extensions are generally unavailable in the Codex in-app preview.
If a wallet changes account or disconnects, SolPet clears the previous address and holdings. It never reconnects or opens an approval prompt automatically after a page reload.
One wallet. One little world.
The server checks that its RPC endpoint is on Solana mainnet, then reads native SOL and direct token accounts from the original SPL Token and Token-2022 programs. Balances from multiple accounts for the same mint are combined.
Amounts are read as exact raw strings. Displayed dollar values are indicative estimates from available CoinGecko and DexScreener prices. Native SOL and wrapped SOL remain separate balance rows. Token names and symbols are unverified metadata; inspect the mint address to identify an asset.
How the three regions work
Each region represents a share of the supported assets with an available price. Up to three assets each get a region. With more than three, the two largest each get a region and the rest form “Other priced assets.” Percentages are rounded to total 100%.
For example, if priced holdings are worth $60, $25, and $15, the regions represent 60%, 25%, and 15%. This example explains the mechanic; it is not an allocation recommendation.
What is not counted?
This version does not value staking accounts, DeFi positions, locked deposits, off-wallet accounts, or NFTs. Zero-decimal assets are excluded because this version cannot reliably distinguish collectibles from fungible tokens. At most 240 nonzero supported balances are processed. Your wallet view is not a picture of your complete finances.
DexScreener quotes must match the token’s base mint and have at least $10,000 reported pool liquidity; the qualifying pair with the highest liquidity is used. This filter is only a pricing heuristic, not a safety rating. Thinly traded or unsupported tokens may have no usable price.
Freshness & sources
Use Refresh to request a new snapshot. Wallet reads are cached for up to 45 seconds and quotes for up to 60 seconds. Returning to the tab refreshes an existing snapshot older than 90 seconds. The panel shows the snapshot time; upstream quotes can lag. If a refresh fails, a previous snapshot may be shown for up to ten minutes with a stale-data notice.
Data comes from Solana JSON RPC, CoinGecko, and DexScreener. No provider guarantees that every price is available or current.
Every kind of day belongs here.
In Practice World, weather is chosen by you. In Mainnet World, it follows a simple rule using available 24-hour price changes weighted by the current value of priced holdings.
- Wind: weighted absolute 24-hour movement is at least 8%.
- Rain: weighted signed 24-hour change is -2% or below, unless the wind threshold is met.
- Sun: neither threshold is met.
- Fog: balances are incomplete, any holdings are unpriced, a snapshot is stale, or price-change data covers less than 80% of priced value.
A single 24-hour price change is not a measured volatility statistic. Weather is a playful explanation of the available snapshot, not a prediction, safety score, or measure of your investment performance. Deposits are not counted as investment profit.
Care. Explore. Collect.
Feed: one berry restores up to 8 happiness and 12 energy. The first feeding each day earns 10 XP. Play: collect five berries in Berry Hop with ← → and Space, or touch controls. A completed run earns five berries, up to 12 happiness, and 15 XP the first time each day.
Basket Bridge
Try carrying fruit across a river. Learn why spreading risk can help when one boat breaks, while a shared storm can still affect them all.
Liquidity Pond
Compare exchange sizes and pond sizes. Explore how a larger trade changes reserves and the average berries received per fish.
Hype Carnival
Inspect a seller’s incentives, evidence, and unanswered questions. Good investigation does not guarantee a profitable outcome.
Young Explorer
Reach 120 XP to evolve and equip a backpack. Unlock meadow decorations by completing one, two, and all three different adventures.
An adventure’s first completion awards 40 XP and three berries. Replays award 10 XP and three berries. Rewards are collected once from the result screen. Journal entries remember your discoveries.
There are no absence penalties. Your pet rests when you are away. Portfolio size, purchases, and trading performance do not determine evolution.
Your progress has a home.
Pet care, your chosen name, XP, decorations, practice allocation, and journal live in this browser’s local storage. There is no cloud account or wallet-based save. Clearing site data or changing browser or domain creates a fresh save; the old save remains on its original browser and domain.
Your connected wallet address stays in memory in the page. When holdings are refreshed, it is sent to the SolPet server and its configured Solana RPC provider. The server keeps a short-lived in-memory snapshot cache, not a holdings database. Token mint addresses are sent to pricing providers; the wallet address is not sent to CoinGecko or DexScreener.
Wallet providers, hosting, RPC, and pricing services have their own infrastructure and privacy policies. The app does not request your private keys and does not publish your care history onchain. Disconnecting clears the page’s wallet data and returns to Practice World; it does not delete your pet’s save.
There are no transactions, NFTs, token rewards, paid cosmetics, or AI chat in this version. Companion dialogue is written in advance.
Something looks foggy?
My wallet is not listed
Open SolPet in the browser where the extension is installed. Unlock and update the wallet, make sure it has a Solana account, then refresh the page. On mobile, try the wallet’s own browser. Choosing “Get wallet” opens its official website; it does not install software automatically.
I declined the wallet prompt
Nothing was changed. You can try again or keep playing in Practice World.
My balances or prices are missing
Wait a moment and refresh. Public RPCs and price providers can be rate limited or unavailable. Some assets are unsupported. Missing information remains unknown, and your care progress is safe.
The website takes a moment to wake up
A free Render web service can sleep after inactivity and may take around a minute to wake up. This does not erase the pet save stored in your browser.
My pet did not follow me to the new domain
Browser storage is isolated by site address. A save on the preview URL or localhost does not automatically move to solpet.fun. Wallet connection does not import that save.