Toko · Consistency reference

Vendors — Management.

The running side of vendors: the vendor list, the vendor detail page, lifecycle controls, and runtime states. The create-a-vendor wizard (Type → … → Summary) and its Draft → Review → Live stages live in vendor-creation-states-gallery; gacha-only states live in gacha-vendor-states-gallery. The public claim side is Launchpad. Launch scope is Market vendors only (Gacha deferred).

A vendor has two independent states: Stage (Draft/Review/Live) · Runtime (setup/running/paused/…). Lifecycle controls depend on both.
01Manage vendors — listEvery vendor for the project. Each card shows the two independent state axes — Stage and Runtime — plus inventory and claimed progress. The blurred "status" of the old flow is replaced by these explicit signals, because every lifecycle control depends on a combination of them. The card's second button is the one action that state needs, so a vendor is never a dead end that has to be opened to find out what to do next: Live · Setup → Start (the only primary-styled one, because a published vendor that isn't taking claims is the one state a creator wants to leave), Live · Running → Pause, Live · Paused → Resume, Live · Empty → Add inventory. Draft and Review have no runtime action yet, so they show setup only.
Studio/Project: Vault One/Vendors
Project · Vendors

Vendors.

Project-scoped distribution mechanisms. Inventory can be drawn from any of the project's collections; rules are applied publicly on Launchpad.

Spring Launch
Market · 3 collections
LiveRunning
Claimed142 / 300
Holders Drop
Market · Whitelist gated
LivePaused
Claimed60 / 120
Founders Sale
Market · ICP claim
ReviewSetup
Reviewed, stocked and priced — set Live to publish to Launchpad.
Autumn Drop
Market · ICP claim
LiveSetup
Published but not open — press Start to begin taking claims.
Summer Teaser
Market · ICP claim
DraftSetup
Configuration in progress — finish setup, then set Live.
Glitch Drop
Market · ICP claim
LiveEmpty
Inventory exhausted — add stock and restart to keep selling.
Showing 1–5 of 5
02Vendors — first load (empty)What you see on first load with no vendors set up. Uses the shared no_vendors hero, a single CTA — "Set up your first vendor" — plus a short explainer beneath the hero of what a vendor is and how it works.
Studio/Project: Vault One/Vendors
Project · Vendors

Vendors.

Distribution mechanisms for this project — inventory can come from any of its collections. The public claim side is Launchpad.

Vendors — none yet

Get your tokens to collectors.

A vendor lists your minted tokens on Launchpad for collectors to claim — for a price, or against a rule like a whitelist or a neuron stake.

How it works

Rules in, claims out.

A vendor is a project-scoped distribution mechanism. You allocate minted tokens into it — from any of the project's collections — and set what a collector must pay or prove to claim one — a cost, a whitelist, a neuron stake. Once it's set Live, it appears on Launchpad, where collectors claim and revenue is split to your beneficiaries after fees. Each token is validated individually at its own go-live, so the vendor itself just needs to be set Live. Launch supports Market vendors; Gacha comes later.

1
Define costs & rules
Per-tier price and claim requirements.
2
Allocate inventory
Move minted tokens in from any collection.
3
Publish to Launchpad
Set Live and collectors start claiming.
03Live vendor — overview (read-only)A Live vendor's landing, organised by the same stage separations as the creation wizard shown read-only as view/manage tabs. Overview is a concise snapshot — state, the inventory total, and the lifecycle controls; each section (Storefront · Lifecycle · Costs & rules · Revenue) opens on its own tab (03b–03e), and Inventory has its own screens (09–12). Lifecycle controls are gated by Stage + Runtime — unavailable controls are greyed with the reason on hover.
Studio/Project: Vault One/Vendors/Spring Launch
Project · Vendor — Spring Launch

Market vendor on Launchpad. Read-only view of the vendor's settings — aesthetics stay editable; core policy is locked.

LiveRunning

Inventory

Claimed142 / 300
Remaining158
Inventory policyFlexible
Drawn fromSpring Foxes, Night Market, Winter Tales

Lifecycle controls

Available actions depend on Stage + Runtime

Delete isn't available on a Live vendor — only an ended & empty vendor can be deleted (see the Ended state).

03 ·Lifecycle controls — the full button matrixThe same card in every runtime state a Live vendor can be in, so the enabled/disabled pattern is documented once rather than inferred from whichever page frame happens to show it. Exactly one action is primary per state — the move the creator almost certainly came to make. Disabled buttons stay visible with a reason on hover rather than disappearing, so the set never changes shape under you. Live · Setup is the state Start exists for: the vendor is published to Launchpad but taking no claims until it's started.

Live · Setup

LiveSetup

Published but closed. Start opens claiming; a scheduled vendor must be started to arm it, or it will not auto-open at its set time.

Live · Running

LiveRunning

Live · Paused

LivePaused

Inventory is editable while paused — this is the only window in which tokens can be added or removed on a Live vendor.

Live · Empty

LiveEmpty

Restart is the primary but stays disabled until stock exists — a Locked-inventory vendor can never satisfy it, so for that policy the only remaining move is End.

Live · Ended

LiveEnded

Terminal, and no action is primary. The page renders a read-only record instead of this card — shown here only to complete the matrix. A Live-stage vendor can't be deleted.

03bStorefront tab — editable (Live)The Storefront tab opens the editable storefront form directly — the same page as the creation step, not a modal. Aesthetics are editable on a Live vendor whether it's running or paused — storefront edits don't require pausing. The page auto-saves and changes show on Launchpad immediately; saving a new thumbnail or banner runs the project cycle check (06–08). Lifecycle, Costs & rules and Revenue stay read-only on Live (03c–03e).
Studio/Project: Vault One/Vendors/Spring Launch/Storefront
Project · Vendor — Spring Launch

How buyers see this vendor on Launchpad. Editable on Live — changes save automatically.

LiveRunningSaved · just now

Customise your storefront

Editable on Live
Square thumbnail (min 512×512) and a wide banner. Saving a new image runs the project cycle check — see 06–08.
03cLifecycle tab — read-only (Live)The Lifecycle policy on its own tab, read-only because the vendor is Live — collectors are claiming against it, so activation, control mode and end behaviour are frozen. (On a Draft vendor this tab is the editable lifecycle form, same as the creation step.)
Studio/Project: Vault One/Vendors/Spring Launch/Lifecycle
Project · Vendor — Spring Launch

How this vendor opens and ends. Locked once Live.

LiveLocked
Lifecycle policy was fixed when the vendor went Live. Collectors are claiming against it, so it can't change.

Activation — how it opens

ModeStart manually
Started2 Jun 2026 · 09:14

Control mode — how it runs

ModeAdmin controlled
Earliest stop14 Jun 2026 · reached

When it stops — unclaimed inventory

End behaviourReturns to the collection
03dCosts & rules tab — read-only (Live)Per-tier claim cost and requirements, copied from the collection defaults at creation and editable per vendor in Draft. Read-only on Live.
Studio/Project: Vault One/Vendors/Spring Launch/Costs & rules
Project · Vendor — Spring Launch

What collectors pay and must prove to claim, per tier. Locked once Live.

LiveLocked

Costs & rules

3 / 3 tiers priced
Common1.5 ICPOpen · no gates
Rare4 ICPWhitelist
Epic8 ICPWhitelistWhitelist

Copied from the collection defaults when the vendor was created, then editable per vendor in Draft. Requirements combine with AND; several selected whitelists merge into one eligible list (a collector only needs to be on one).

03eRevenue tab — read-only (Live)Where claim proceeds go — the applied revenue preset's fees and royalties — plus what's collected so far. For a time-limited royalty it shows the time remaining and the current (tapered) amount; once a period ends the beneficiary stays on record with a "time period ended" label. Locked on Live.
Studio/Project: Vault One/Vendors/Spring Launch/Revenue
Project · Vendor — Spring Launch

Claim proceeds, fees and the beneficiary split. Locked once Live.

LiveLocked

Collected

Preset · Founders Split
Claims142
Gross collected186.5 ICP
Toko burn — reputation (1%)1.87 ICP
Royalties to beneficiaries (5%)9.33 ICP
Remainder to project treasury175.30 ICP

Royalties

Locked
Studio Treasury
Linear taper · started 8%
5.2% now
4 of 12 months left
Lead Artist
Was 4% for 12 months
Time period ended
Community Fund
Forever · no taper
3%

Royalties come from the applied preset (Founders Split), copied when this vendor was created. Tapering amounts update over time; an ended period stops paying but the beneficiary stays on record. Locked once Live.

03fRevenue tab — royalty tapering over timeA Live vendor whose preset includes a time-limited, tapering royalty. The Revenue tab shows the beneficiary's current (tapered) share vs its starting share, the taper type, and time left in the period. Read-only — the values were copied from the preset at creation; the taper advances automatically with elapsed time.
Studio/Project: Vault One/Vendors/Spring Launch/Revenue
Project · Vendor — Spring Launch

Claim proceeds and the beneficiary split. Locked once Live.

LiveLocked

Royalties

Preset · Founders Split
Studio Treasury k1m9…7uvw
Linear taper
Starting share
8%
→
Current share (now)
5.2%
Period elapsed8 of 12 months · 4 left
TaperLinear · over 12 months
Started → ends14 Jun 2026 → 14 Jun 2027
Paid to date62.1 ICP
Lead Artist7% now · Curve · 2 mo left
Community Fund3% · forever

Tapering shares recalculate from elapsed time, so the "now" figure updates automatically. Copied from the preset at creation; locked on Live.

03gRevenue tab — royalty period expiredA Live vendor whose preset includes a time-limited royalty that has reached the end of its period. The beneficiary stays on the record with a "Time period ended" label and a 0% current share — it no longer receives a cut, but its history (what it was, how long, total paid) remains visible for transparency.
Studio/Project: Vault One/Vendors/Spring Launch/Revenue
Project · Vendor — Spring Launch

Claim proceeds and the beneficiary split. Locked once Live.

LiveLocked

Royalties

Preset · Founders Split
Lead Artist 9xa2…b3kk
Time period ended
Current share0% · no longer paying
Was4% · no taper · 12 months
Ran10 Jun 2025 → 10 Jun 2026 · ended
Total paid54.55 ICP
Studio Treasury5.2% now · Linear · 4 mo left
Community Fund3% · forever

An ended royalty stays on the record for transparency but pays 0% going forward — it is never removed automatically. Copied from the preset at creation; locked on Live.

04Lifecycle confirms — Pause · Resume · Restart · End · Scheduled-start errorEvery lifecycle control and its confirm. Pause and Resume are quick, reversible toggles on claiming. Restart brings an emptied vendor back once it's restocked (and errors if it has no tokens). Setup → Running with a past scheduled start errors — a scheduled vendor auto-opens only if it is already Running before its start time (Setup = editable, Running = armed). End is terminal and applies the vendor's end behaviour — unclaimed inventory returns to its collections or is burned, per the lifecycle setting; ending an already-empty vendor just needs a simple confirm.

Pause Spring Launch?

There are 158 tokens in this vendor — are you sure? Pausing closes all claims on Launchpad immediately. Inventory and configuration are unchanged, and you can resume anytime.
RuntimeRunning → Paused

Resume Holders Drop?

Re-opens claiming on Launchpad. Requires the vendor to be Live with inventory remaining.
RuntimePaused → Running

Restart Glitch Drop?

Bring this vendor back to running? It was emptied and re-stocked, so claiming can re-open on Launchpad.
Inventory120 tokens staged
RuntimeEmpty → Running

Can't restart Glitch Drop

This vendor has no tokens, so it can't be restarted. Its inventory is Flexible — add tokens and try again. (A Locked-inventory vendor can't be restocked, so it can only be ended.)
Tokens in vendor0

Can't set Autumn Drop to running

The scheduled start time has already passed. Set the scheduled time to a point in the future before you can change this vendor to running. A scheduled vendor only opens automatically if it is already running when its start time arrives — in Setup, nothing happens.
Scheduled start30 Jun, 18:00 (passed)
RuntimeSetup (unchanged)

End Spring Launch?

This ends the vendor for good. Claiming closes and it can't be restarted. This vendor's end behaviour returns unclaimed tokens to their collections.
Unclaimed inventory158 → returned to collections
RuntimeRunning → Ended

End Founders Sale?

This ends the vendor for good. Claiming closes and it can't be restarted. This vendor's end behaviour burns unclaimed tokens — they're permanently destroyed and don't return to any collection.
Unclaimed inventory84 → burned
RuntimeRunning → Ended

End Glitch Drop?

This vendor is empty — end it? Every token has been claimed, so there's nothing to return or burn. Ending closes it for good and it can't be restarted.
Unclaimed inventory0 · nothing to return
RuntimeEmpty → Ended
05Runtime state on the page — Empty (inventory exhausted)How a runtime state actually appears — in context at the top of the vendor's page, not a modal. The banner pins above the content with the matching badge and actions. Empty means every token has been claimed: Restart after restocking, or End. Low stock is the same banner on a still-Running vendor that has stock left (additive / flexible only). Ended is the terminal state — see 14b.
Studio/Project: Vault One/Vendors/Glitch Drop/Inventory
Project · Vendor — Glitch Drop

Glitch Drop · every token has been claimed.

LiveEmpty
Inventory exhausted — all 200 tokens claimed. Pause to add inventory, then Restart to re-open claiming — or End the vendor. Restart becomes available once at least one token is added.
No tokens left

Every minted token in this vendor has been claimed. Pause to add inventory and Restart to re-open claiming on Launchpad, or End the vendor to close it.

06Storefront media edit · cycle check (balance OK)Replacing a live vendor's thumbnail or banner stores the new image in blob storage, funded from project cycles. Before it saves, Toko estimates the cost and checks the balance — the same guard used for every upload (see the Cycles & uploads gallery). With headroom, it saves normally.

Upload assets

spring-launch-banner.png staged · 2.8 MB · uploaded & held
Estimated cost
~0.03 T cycles
Project balance
2.040 T
After upload
~2.01 T
Enough cycles to store this image and keep your reserve. Toko moves project cycles into blob storage automatically. The previous image is replaced once the new one lands.
07Storefront media edit · low balanceThe estimate exceeds the balance. The new image stays staged — the live vendor keeps its current image until the replacement lands — and the primary action becomes Top up & upload.

Upload assets

spring-launch-banner.png staged · 2.8 MB · uploaded & held
Estimated cost
~0.03 T cycles
Project balance
0.010 T
Shortfall
~0.02 T + reserve
Not quite enough cycles to store this image. It stays staged and the live vendor keeps its current image — top up and the replacement saves straight away. Nothing is lost if you top up now.
08Top up to continue · image stagedThe inline top-up. The staged image is shown at the top so it's clear nothing was cancelled; once cycles land in blob storage, the replacement saves automatically.

Top up to continue upload

spring-launch-banner.png staged · 2.8 MB · ready to save
This upload (est.)~0.03 T
Project balance0.010 T
Recommended top-up (cost + reserve)1.000 T
Top up amount
T cycles · ≈ 0.30 ICP
from your wallet to the project canister
Cycles are sent to the project canister; Toko moves what's needed into blob storage. After it lands, the staged image saves automatically.
09Inventory — running (must pause to edit)A live vendor's inventory, opened while it's Running. The tokens are shown read-only and every add/remove control is disabled — including the per-card ✕, which stays visible but greyed rather than disappearing, so the affordance doesn't look like it's gone missing. You must pause claims before altering inventory, so a collector can't buy a token mid-edit. Additive & Flexible vendors only; a Locked-inventory vendor has no edit affordances at all.
Studio/Project: Vault One/Vendors/Spring Launch/Inventory
Project · Vendor — Spring Launch

Minted tokens staged in Spring Launch, drawn from across the project's collections. Policy: Flexible.

LiveRunning
Pause to change inventory. This vendor is Running, so adding or removing tokens is locked — a collector could be claiming a token at the same moment. Pause claims, edit inventory, then resume.
🦊
Spring Fox #014
Common · Spring Foxes
🏮
Night Lantern #221
Uncommon · Night Market
🦊
Spring Fox #112
Rare · Spring Foxes
❄️
Winter Tale #006
Common · Winter Tales
🎆
Sky Firework #016
Epic · Night Market
🦊
×4
Spring Fox #051
Common · stack
Showing 1–48 of 158 staged
10Inventory — paused & populated (flexible)Paused, so editable. Filter by collection and rarity tier; the grid mirrors the Minted-token management cards. Flexible inventory can also remove tokens, by either route: the per-card ✕ removes that one token, and Select turns on per-card checkboxes and the bulk bar for several at once. Both return the tokens to their collections and both go through a confirm (frames 12 and 12 ·) — neither ever removes on the click itself. (An Additive vendor shows Add only: no Select, no bulk bar, and no per-card ✕. A Locked vendor has no edit affordances at all, and while the vendor is Running every remove control is disabled — see frame 09.)
Studio/Project: Vault One/Vendors/Spring Launch/Inventory
Project · Vendor — Spring Launch

Spring Launch is paused, so inventory is editable. Policy: Flexible — add and remove. Tick a token to start a selection.

LivePausedEditable · paused
This vendor is paused — claims are closed on Launchpad. While paused you can add and remove inventory; resume to re-open claiming.
3 selected
🦊
Spring Fox #014
Common · Spring Foxes
🏮
Night Lantern #221
Uncommon · Night Market
🦊
Spring Fox #112
Rare · Spring Foxes
❄️
Winter Tale #006
Common · Winter Tales
🎆
Sky Firework #016
Epic · Night Market
🦊
×4
Spring Fox #051
Common · stack
Showing 1–48 of 158 staged
11Add tokens (aligned with creation)Opened from "+ Add tokens" on a paused vendor — the same picker used in the creation Inventory step. Choose a source collection, multi-select from the minted tokens it holds, page through large collections. Only minted, collection-held tokens appear. The primary button counts the selection.

Add tokens to Spring Launch

Move minted tokens held by a collection in Vault One into this vendor. Only minted tokens the collection currently holds can be added — unminted definitions and externally-held tokens can't.

3 of 620
🎭
Festival Mask #001
Common
🏮
Night Lantern #006
Common
🎆
Sky Firework #016
Epic
🏮
Night Lantern #026
Common
🧧
×4
Lucky Charm #041
Rare · stack
🥮
Moon Cake #061
Uncommon
🎭
Festival Mask #076
Common
🎇
Sky Firework #081
Epic
Showing 1–18 of 620 held
12Remove tokens — confirm (flexible)From the bulk bar's "Remove from vendor". Removing returns the tokens to their collections' held inventory — they leave the vendor and can't be claimed here until re-added. Flexible vendors only.

Remove 3 tokens from Spring Launch?

These tokens leave the vendor. They return to their collections' held inventory and can't be claimed here until you add them again. The vendor is paused, so no claim is in flight.
Spring Foxes2 → returned to collection
Night Market1 → returned to collection
12 ·Remove one token — confirm (per-card ✕)The single-token counterpart, opened by the ✕ on a token card. Same component and same rules as the bulk confirm above, named for the one token so there's no doubt which card was hit — a mis-click on a dense grid is exactly the risk this guards. Cancel closes with nothing changed; Remove token returns that copy to its collection's held inventory. Removal is never immediate on the ✕ itself. Same gating as the bulk path: Flexible policy only, vendor paused; disabled while Running, absent on Additive and Locked.

Remove Spring Fox #014 from Spring Launch?

This token leaves the vendor. It returns to its collection's held inventory and can't be claimed here until you add it again. The vendor is paused, so no claim is in flight.
TokenSpring Fox #014 · Common
Spring Foxes1 → returned to collection
Vendor inventory after158 → 157 staged
12 ·Remove one token — confirm (stack)The same confirm when the card is a stack. The ✕ removes the whole stack, not one copy from it, so the modal states the copy count plainly — this is the case most likely to be misread on the grid, where the card looks like a single item with a small ×4 badge.

Remove Spring Fox #051 from Spring Launch?

This is a stack of 4 copies — all 4 leave the vendor. They return to their collection's held inventory and can't be claimed here until you add them again. The vendor is paused, so no claim is in flight.
TokenSpring Fox #051 · Common · stack ×4
Spring Foxes4 → returned to collection
Vendor inventory after158 → 154 staged
14Scheduled state — on the page (Running · armed)A Live vendor set to open at a future time, shown on its Overview tab; the banner pins to every tab until it opens. It auto-opens at the set time only because it is already Running (armed) — a vendor still in Setup does not auto-start (see the scheduled-start error in 04). Until the start time it takes no claims and shows "Coming soon" on Launchpad. The creator can start early or reschedule. Draft vendors aren't managed in this section at all: the list card's "Continue setup" reopens the creation wizard (see 01 and vendor-creation-states-gallery) — there's no Draft page here, by design.
Studio/Project: Vault One/Vendors/Summer Teaser/Overview
Project · Vendor — Summer Teaser

Market vendor · scheduled to open.

LiveRunning · opens 20 Jun
Armed — opens 20 Jun 2026 · 14:00 UTC. This vendor is Running, so it opens automatically at the set time; collectors can't claim before then and it shows "Coming soon" on Launchpad. This banner shows on every tab until it opens.

Schedule

Opens20 Jun 2026 · 14:00 UTC
Time until open2 days
Inventory staged200
14bEnded state — on the page (read-only record)A terminated vendor on its Overview tab. It's a read-only record — not on Launchpad (no public link) and, as a Live-stage vendor with on-chain history, it can't be deleted. Per its end behaviour, unclaimed tokens were returned to their collections (or burned).
Studio/Project: Vault One/Vendors/Winter Drop/Overview
Project · Vendor — Winter Drop

Ended — a read-only record.

LiveEnded
This vendor has ended. Per its end behaviour, unclaimed inventory was returned to its collections. It's no longer on Launchpad, and a Live-stage vendor can't be deleted — this is a read-only record.

Final record

Ended18 Jun 2026 · 11:40 UTC
Claimed142
Returned to collections158
Revenue collected186.5 ICP
14cPaused state — on the page (banner on every tab)A paused vendor on its Overview tab. Claims are closed on Launchpad and the banner pins to the top of every tab — Overview, Storefront, Lifecycle, Inventory, Costs & rules, Revenue — until it's resumed. Resume re-opens claiming; while paused, aesthetics and inventory stay editable.
Studio/Project: Vault One/Vendors/Holders Drop/Overview
Project · Vendor — Holders Drop

Market vendor · paused.

LivePaused
This vendor is paused — claims are closed on Launchpad. This banner shows on every tab until you resume.

Inventory

Claimed60 / 120
Remaining60

Lifecycle controls