SHARC [ver. 25]FULLY ONCHAIN 1-BIT SHARKSARC · 5042
CONTRACT SETMINT NO WALLET
THE FIELD GUIDE / SHARC

A little shark.
A whole world onchain.

SHARC is a collection of 5,432 fully onchain 1-bit sharks native to Arc, Circle's Layer-1 for programmable money. The artwork and the renderer that draws it live entirely onchain. This site does two things: it mints, and it shows you what you hold. Buying and selling happens on OpenSea.

COLLECTION5,432 sharks
ARTWORK30×30 · 1-bit
NETWORKArc
CHAIN ID5042
1

What you are minting

SPECIFICATION
StandardERC-721 · symbol SHARC
Supply5,432 — immutable, enforced in the constructor
Artwork30×30 1-bit bitmap per token, frozen at deploy
NetworkArc · chain id 5042
TraitsRace · Headgear · Suit · Mask · Theme — 16 · 25 · 38 · 17 · 9, all stored onchain

Each token is 900 bits of pixels plus five trait bytes. That record is written into immutable code-storage chunks, registered in a store contract that is frozen once every record is loaded, and drawn by a renderer contract that builds the SVG and the Base64 tokenURI at read time. No IPFS, no external host, no server in the loop. What you mint is what was frozen.

2

How the mint works

  • Price is — USDC for 1 Sharc, paid as native msg.value. On Arc, USDC is the gas token and msg.value uses 18 decimals.
  • Up to — per transaction, enforced onchain. There is no lifetime cap per wallet — mint again any time while the mint is open.
  • The contract requires msg.value == price × quantity and reverts on anything else. You cannot overpay by accident.
  • The mint deploys closed. The owner opens it only after the testnet acceptance checklist, and can pause it in an emergency.
  • Token ids are assigned in mint order. Which Sharc you get is decided by the frozen dataset, not by the contract at mint time.
3

Step by step

  1. Connect a wallet. Use the button in the top bar. The dialog lists the wallets your own browser announces over EIP-6963 — MetaMask, Rabby, OKX, Coinbase, Zerion, Brave, Frame and anything else you have installed — so there is no brand list to be left off. If nothing is listed, no wallet extension is installed in this browser; the dialog links to a few. On a phone, open this site inside your wallet app's own browser.
  2. Be on Arc. Use CHANGE NETWORK on the mint page, or open the wallet menu and choose the network switch. Approve the switch in your wallet. The site pins chain 5042; a network calling itself "ARC Mainnet" on chain 1243 is a different project.
  3. Hold USDC on Arc. Gas and the mint price are both USDC. Circle CCTP is the only official bridge; never use an RPC or bridge link from a social post.
  4. Pick a quantity and mint. The page shows the exact total. Confirm in your wallet. The counter updates once the transaction is mined, not when it is submitted.
  5. See your Sharcs. Open My Sharcs. Holdings are read from the contract itself, page by page, so a wallet with hundreds of tokens still shows all of them.
4

Trading

SHARC has no marketplace of its own. Listings, offers and sales happen on OpenSea, which reads the same onchain tokenURI this site does. Every card in My Sharcs links to the collection on OpenSea; OpenSea has not published a chain slug for Arc yet, so there is no per-token page to link to. Nothing on this site lists or sells a token for you. The only thing here that moves a Sharc at all is The Deep, and only into a dive you opened yourself — surfacing returns it to the address that dived. Section 7 covers the approval it needs.

5

The art

Every Sharc is a 30×30 one-bit portrait: navy #1F282F ink on one of 9 pastel theme backgrounds. There are 16 races — Reef, Rotjaw, Ronin, Abyss, Labfin, Hoodfin, Streetfin, Warjaw, Razorfin, Hellfin, Halofin, Orcfin, Sawfin, Bullfin, Ghostfin, Tigerfin — plus 25 headgear, 38 suits and 17 masks. A trait is only offered on a race where it actually fits: a species that already carries the feature (Ronin's topknot, Hellfin's horns, Halofin's halo, Labfin's lab coat, Hoodfin's hood) never wears it twice.

The theme is the fifth trait byte, so the background colour is stored onchain with the pixels. Nothing is layered at read time: what was frozen at deploy is what the renderer draws.

6

Reading the art yourself

  • tokenURI(id) returns a data:application/json;base64 document with the name, attributes and an inline SVG image.
  • The bitmap is stored as four uint256 words. Bit x of row y is column x — bits are read least-significant-first, left to right.
  • Chunk data is plain contract bytecode. Anyone can re-derive the collection hash from the store and compare it with the published manifest.
READ IT YOURSELFpreviewTokenURI(id)
1 – 5,432

Nothing has been read yet. This reads the contract on Arc live, through this site's uncached RPC relay — no indexer, no stored copy.

7

Safety

WHAT THIS SITE NEVER DOES

This site never asks for a seed phrase and never links to a bridge. Connecting shares your address and nothing else — no message is signed to log in.

SIGNATURE PROMPTS

The only transactions this site ever asks you to sign are the mint and, if you use The Deep, its own: one setApprovalForAll, then dive, descend, surface and claim. Buying pressure also requests an ERC-20 approval and pressurize, which permanently sends the cost in $SHARC to the dead address. That first one is the prompt worth understanding, because it is the same prompt a drainer asks for: it lets one contract move any Sharc in your wallet, now and in future, until you revoke it. Here it is what allows The Deep to take a Sharc into custody when you dive and hand the same token back when you surface, and the only address it is granted to is the staking contract for The Deep 0x6642624d5ed73761a5a75af6bf508eb6319781cb. Check the address in your wallet against that one, and never approve an address that arrived in a message.

  • Chain ids are pinned in code: testnet 5042002, mainnet 5042. A misconfigured deployment refuses to start rather than guessing.
  • The contract owner cannot change the artwork, the supply or your ownership. The owner can open, close or pause the mint, and can change the price and the per-transaction limit for future mints — never for one already paid.
8

The Deep

Send a Sharc down and it dives. The longer it stays down the more weight it carries, and weight is the only thing that decides your share of the reward pool. The Deep is a place to keep a Sharc, not a yield product: there is no emission schedule, no promised rate, and nothing is paid that was not funded first.

DEPTH CALCULATOR_weight(tier, pressure)
SURFACE1.00xWhere every dive begins.
SURFACEfrom the first block1.00x
TWILIGHT7 days1.25x
MIDNIGHT30 days1.60x
ABYSS90 days2.00x
TRENCH180 days2.50x

What the contract will and will not do

  • Surfacing resets depth to zero. Bring a Sharc home and its next dive starts at surface again. Depth is the risk you are being paid for.
  • Pressure survives surfacing. It is bought by permanently burning SHARC, and burned supply does not come back, so neither does the bonus. Each step is +10%, capped at +100%.
  • Race does not matter. Weight is depth times pressure and nothing else. Every Sharc at the same depth with the same pressure weighs the same.
  • Depth only changes inside a transaction you send. descend is a button, not a clock. Rewards use an accumulator that is exact only while weight holds still between fundings; a depth that grew per second would silently mis-pay everyone.
  • Surfacing and claiming are never gated on The Deep being open. Closing it cannot trap a Sharc or strand a balance.
  • Do not send a Sharc with safeTransferFrom. The Deep is deliberately not an IERC721Receiver, so that reverts instead of parking a token with no position behind it.
  • Rounding is down, twice. The reward pool can never pay out more than was funded.
  • Diving opens only once the collection is sold out. Surfacing and claiming do not wait for anything.

Staking contract for The Deep 0x6642624d5ed73761a5a75af6bf508eb6319781cb. Check any approval prompt against that address.

9

$SHARC

SHARC is the token The Deep pays in. Its supply is fixed, minted once in the constructor, and the contract has nothing else in it — no mint function, no pause, no blacklist, no fee on transfer, no proxy behind it. What exists on the day it is deployed is what will ever exist.

READ THE RIGHT NUMBER

totalSupply does not fall when SHARC is burned for pressure. The Deep sends it to a dead address rather than calling a burn function — that is what lets it work with any ERC-20 — so the tokens are gone while the number is unchanged. Quote circulatingSupply() or burned().

LIVE SUPPLYSHARC
3 calls

Nothing has been read yet. This reads the token on Arc live, through this site's uncached RPC relay.

How rewards get there

  • Two streams on fixed slots: native USDC, and funded SHARC. Both are filled by someone choosing to fund them. Nothing is collected automatically.
  • USDC rewards are optional and off by default. Only the owner of The Deep can switch them on; until then The Deep refuses native USDC funding. Switching them off again refuses only new funding: USDC already streaming keeps streaming and every USDC reward already owed can still be claimed. ERC-20 USDC sent to The Deep is never a reward and is lost.
  • The reward token is set once. There is no swap, no oracle and no price anywhere in the staking contract — it moves whole tokens and counts weight, nothing more.
  • Funding an empty reward pool is queued rather than handed to whoever happens to be first; only the owner releases it, once there are divers to share it.
  • A reward stream that has never been funded pays zero. The Deep can be open and still owe nothing, and the page says so rather than showing a rate.

Token contract 0xa6eedd4b270a06003f56478d5dfc5e854b75478b.