Method
Everything that decides what your piece looks like and what it costs in AVAX, in plain terms. All of it is read from the Avalanche C-Chain or stored on it. If something here is wrong, the art is wrong too, so tell us.
How the art is made
Contour draws your wallet as a survey map of your own Avalanche mountain. The metaphor is literal: the more you have stacked on the C-Chain, the higher the snowpack. It is fully deterministic: the same inputs always produce the same piece, in the browser and on the server, and the inputs are stored on-chain with your token.
Inputs
- Your bags. For each collection on the list, the number of NFTs your wallet holds, read with
balanceOfin a single Multicall3 call at mint time. The 32 largest bags are stored on-chain; the map draws the 24 largest. - Your arrival. The season of your first C-Chain transaction sets the paper colour.
- Your activity score (0 to 1000) sets how fine the halftone screen is and how rough the terrain gets.
- A seed,
keccak256("strata:001", wallet, payload, piece number), places the peaks and the light. A wallet minting several pieces gets several different maps of the same bags. - Yours stays hidden until minted. The site shows example maps from random wallets, but your own seed and payload are only produced when you mint, and your image only exists once the token exists on-chain. Nobody, including you, sees your map before the mint is final.
From bags to terrain
- Every collection you hold raises one peak, in that collection's colour. A collection has the same colour in every wallet.
- Peak height is
0.28 + 0.72 × log(1 + n) / log(1 + largest bag). Width grows with the same ratio, so your biggest bag is always the summit. - The island grows with your total NFT count: one NFT is a small islet, 150 or more fills the map.
- The number of contour lines is
5 + 3.2 × log2(1 + total NFTs), capped at 36. Every fourth line is a thicker index contour. The coastline is drawn in ink. - Each stretch of line and every halftone dot takes the colour of the collection whose peak dominates that spot, so you can read your portfolio as territories.
- Texture: a halftone hillshade (dot size follows the slope against a light from a seeded direction) and a fine paper grain.
- No bags at all draws open sea: seven swell lines and a benchmark. Trait: Flatland.
Collections that hit harder
- 20 collections on the list carry a bigger percentage. Their bags count 3× when sizing and ranking peaks, so they tend to own the high ground.
- Each of them has its own landmark, always the same one: Lighthouse, Cairn, Flag, Observatory, Windmill, Hut, Tent, Pine, Tower, Bridge, Beacon, Cave, Spring, Shrine, Arch, Mine, Anchor, Lookout, Falls, Camp. It is drawn on that collection's peak, on a paper plate ringed in the collection's colour.
- Two or more of these peaks are linked by a dashed red survey trail, walked from the biggest one to the nearest, and so on.
- Special traits: one Landmark trait per collection, Route (Unmapped or an n-stop trail) and Expedition: Scout (1), Expedition (3), Grand Tour (10), Cartographer (all 20).
Traits
Terrain (Flatland, Sandbar, Hills, Range, Alps, Himalaya by total NFTs), Collections, NFTs, Tallest peak, Peaks, Landmarks, Expedition, Route, one Landmark per heavy collection, Light, Season, Tier, Score, First activity.
How the price is set
The collections with a bigger percentage
On the map their bags count 3× when sizing and ranking peaks, and each one plants its landmark. On the price, each of their NFTs takes the bigger discount.
Supply and royalties
Contour is an open edition. There is no maximum supply: the mint is open for a fixed window, and whatever has been minted when it closes is the final supply, forever. The window can't be extended once it has started. Secondary sales carry 5% royalties (ERC-2981 on the contract).
The price in AVAX, the seed and the payload are signed by the STRATA. server for your wallet and are valid for 10 minutes. The STRATA. contract on the C-Chain only accepts that exact price from that exact wallet, for that exact piece.
How the list was collected
Collected: 24 September 2026, 14:07 UTC. Sources: Salvor and Joepegs, the two main Avalanche NFT marketplaces.
Endpoints
- Salvor:
GET https://salvor.io/api/collections/report-v2?orderBy=volume&range=all&direction=desc&page={0..}&size=100. Requires avisitor-idheader (any UUID); without it the API answersMissing parameteror an empty list. Field used:data.rows[].volume.all, all-time volume in AVAX on Salvor. - Joepegs:
GET https://barn.joepegs.com/v3/collections?chain=avalanche&orderBy=volume&filterBy=total&pageSize=100&pageNum={1..}.filterBy=totalmeans all-time. Fields:volume(AVAX in wei on Joepegs),volumeUsd,address,name. The API's ordering follows USD volume.
Ranking rule
- Normalise every contract address to lowercase.
- Join Salvor and Joepegs by address.
- For each collection, ranking volume = max(Salvor all-time AVAX, Joepegs all-time AVAX), using whichever values exist.
- Sort by ranking volume, descending, and keep the top 200.
Why max and not sum? The two numbers measure different marketplaces. Adding them could count similar activity inconsistently and still wouldn't equal unique on-chain volume. The max keeps the best all-time measurement available for each collection.
Limitations
- Volumes are per marketplace, not total on-chain C-Chain volume.
- Salvor and Joepegs report very different numbers for the same contract because they are different sales channels.
- Joepegs USD values reflect prices at the time of each sale; nothing was converted at collection time.
- Joepegs
externalVolumewas left out: its origin isn't publicly documented. - If a source failed partially, the ranking uses whatever is available; collections present in one source only are marked with that source.
- Run size: 500 collections from Salvor, 500 from Joepegs, 746 after merging, top 200 kept.
- The final list was then curated by hand: one contract added, and duplicates sharing a name removed (only the official ferdy fish contract,
0xf0ad…68cb0, is kept).
The full list
| Collection | Contract | Discount per NFT |
|---|