Hey Adam, how will Toko ensure that people do not lose their NFTâs if for any reason your canister runs out of cycles and ends up past the threshold?
Hey â great question. This is something weâve thought about very explicitly at both the protocol (canic) and application (Toko) layers.
Below is the concrete technical answer 
1. NFTs are not âinâ one canister
In Toko, NFTs are not centralized in a single application canister.
They are deployed using canicâs multi-subnet sharding model:
- NFTs live on user shards (many canisters, across subnets)
- Ownership state is distributed, not monolithic
- No single canister failure can invalidate the collection
So even if one canister were to run low on cycles, the NFT system as a whole continues to function.
This removes the classic âsingle canister dies â everything is goneâ failure mode.
2. canic continuously defends against cycle starvation
canic has a built-in, protocol-level cycle safety mechanism.
Multi-subnet + RPC model
- Shards communicate via inter-canister RPC
- Root / registry canisters observe shard health
- Low-cycle shards are detected before hitting the IC freeze threshold
Cycle request path
When a shard is low on cycles:
- It issues a cycle request via canic RPC
- The request is validated at the protocol boundary
- Cycles are automatically routed to that shard
This is not a cron job or a manual process â it is part of the runtime behavior of the system.
3. Toko makes cycle funding automatic and self-sustaining
On top of canic, Toko adds an economic feedback loop that makes cycle starvation extremely unlikely.
Variable % of every sale
- Every NFT sale routes a configurable percentage to the protocol
- This percentage is adaptive, not fixed, based on load and cost
Auto-exchange to cycles
- The protocol automatically converts that value into cycles
- Those cycles are used to:
- top up user shards
- top up registry / root canisters
- maintain long-term storage guarantees
As long as NFTs are being traded, the system continuously pays for its own execution.
4. What happens in the worst case?
Even in a pathological scenario:
- A shard running low on cycles does not delete state
- The IC freezes execution, but persistent state remains
- Once cycles are added, the canister resumes with NFTs intact
Because:
- NFTs are persistent state
- Ownership is replicated across protocol-verified shards
- No âhot walletâ or custodial key can revoke them
The key design principle
NFT permanence is enforced by architecture, not trust.
- Distributed shards â no single point of failure
- Protocol-level cycle monitoring â early intervention
- Economic loop â automatic, ongoing funding
- IC persistence â no data loss on pause
Together, this makes NFTs on Toko far closer to permanent digital property than systems that rely on a single application canister and manual top-ups.