The manual for art that outlasts its marketplace.
Perpetual is a permanence-first NFT marketplace. Every artwork is provably permanent, and that permanence does not depend on Perpetual. This is the full, plain-language account of the storage model, the trading desk, settlement, royalties, and the invariant that holds all of it together. Verifiable claims only, documented in full.
0%
Permanence integrity
0%
Onchain-proof coverage
0
Verified shards
0
Works archived
Art, engineered to outlast everything.
Most NFTs store the token onchain and the artwork somewhere it can quietly disappear. When a pin lapses or a server goes dark, the chain still records that you own something that no longer resolves to anything. Perpetual exists to close that gap.
The promise is narrow and exact: the artwork survives, and its survival does not depend on the operator. Ownership, provenance, and the work itself remain intact even if Perpetual disappears entirely. We claim permanence because the architecture guarantees it. We do not claim a decentralization we have not built.
To keep that honest, the system is layered. The asset and its provenance are permanent and operator-independent. Settlement is onchain. The orderbook, the indexer, and this frontend are run conventionally, centralized for speed, because their failure can lose listings and search but can never touch your art or your ownership.
Five parallel shards. One consensus-guaranteed backstop.
Each token carries five parallel, independently-verifiable shards across independent storage backends. Four add resolution and redundancy. shard 0 — the STATE shard, written on-chain via SSTORE2 — is the only one permanence actually requires.
The consensus-guaranteed backstop. A low-res canonical image written on-chain as contract bytecode via SSTORE2 inside the ForeverLibrary contract. Its content hash is computed on-chain. Lives in contract state — cannot be pruned. Mandatory for every listed token.
The high-resolution primary copy. Full-resolution media stored cheaply in event logs via a standalone LogLedger contract (~8 gas/byte); only a Merkle root + size live in contract state. Root-verifiable by anyone; retention-monitored (nodes may prune historical logs per EIP-4444), backstopped by the STATE shard. Cost-efficient, not consensus-guaranteed.
Content-addressed redundant off-chain copy, pinned via Pinata, referenced by CID. Fast to serve; backstopped if a pin ever lapses.
Pay-once permanent storage. An architecturally distinct, independent permanence layer.
Additional permanent redundancy on the Datachain. A separate operator and separate failure domain from Arweave.
No token is listable unless shard0Configured(tokenId) is true and its content hash matches the record written onchain at mint. Every shard’s content is hashed, and that hash is anchored onchain, so resolution and integrity can be checked against an immutable reference.
The verification service
A read-only service continuously resolves every shard, hashes what it gets back, and compares that hash against the onchain record. It reads only public data, so anyone can run the same checks and reach the same result. The per-token Permanence Status panel on each token page surfaces this live, with every row linking to its raw source. Do not trust us; reproduce it.
Ethereum and Base, one marketplace.
Perpetual runs on Ethereum and Base, presented as a single marketplace. On both, the full permanence model applies directly and the whole stack is deployed — Forever Library, settlement, LogLedger, ScriptStore, and the cross-chain escrow. Every price is shown in the chain's own currency.
Discovery is unified. Explore, rankings, and market stats filter across both networks at once, so the marketplace reads as one place rather than two. Each token carries its chain, and prices render in that chain’s native currency rather than a single normalized unit.
Permanence-native
On both chains the full permanence model applies directly: Forever Library deploys here, and the mandatory shard 0 onchain proof is written natively. Cross-chain swaps settle atomically between them.
Native currency ETH. The full stack deploys here; permanence is native.
Native currency ETH. The full stack deploys here; permanence is native.
More EVM networks can be added by deploying the same stack and listing them; we surface a network only once its contracts are live, never before.
List, offer, and swap, gaslessly.
Listings and offers are signed messages, settled onchain only when filled, so listing costs no gas. Beyond fixed price, Perpetual restores barter: the NFT-for-NFT trading OpenSea abandoned.
Fixed-price listings and offers
List a token at a fixed price, or make an offer on one that is not listed. Orders are valid onchain regardless of orderbook availability, so a sophisticated buyer could fill an order directly against the settlement contract even if the orderbook were down.
Swap types
Propose a barter: your tokens for theirs, with optional ETH added on either side to balance value. A pure trade, or a trade plus a top-up, in one order.
Offer against a collection or a trait rather than a specific token: “any token from this collection, optionally with this trait, for mine.” The counterparty chooses which qualifying token fills it.
Every incoming proposal can be accepted, declined, or countered. A counter re-opens the terms; nothing moves until both sides have signed and the trade settles atomically.
Ethereum and Base, settled atomically.
When the two sides of a swap live on different chains — one on Ethereum, one on Base — the trade settles through hashed-timelock escrows, not a trusted bridge. Perpetual takes no custody: either both parties settle, or both refund.
Both legs are bound by a single hashlock. The two escrows hold the assets while the shared secret settles them: revealing it to claim one leg publishes it on-chain, which is exactly what lets the counterparty claim the other. Neither side can take an asset without giving up their own, and if either stalls, both refund after the timelock. No operator can intervene.
Each party locks their asset into the escrow on its chain, under the same hashlock, with a timelock (the maker’s longer than the taker’s).
The maker claims by revealing the secret, publishing it on-chain; the taker reads it and claims the other leg.
If either side never claims, both refund their own asset after the timelock. Nothing is lost.
Enforced at settlement, not optional.
Royalties are checked at the protocol level via ERC-2981, against the token’s onchain configuration. A sale that does not honor the artist’s royalty is rejected by the settlement contract itself.
The royalty is set per token by the artist at mint and read at settlement via royaltyInfo(). This is not a marketplace toggle and not an honor system. There is no setting that turns it off, because enforcement lives in the contract, not in the interface.
Permanence you can grade, test, and keep.
The same read-only verification that powers the Permanence Status panel feeds three further surfaces. Each is data-backed, never decorative, and reproducible from public sources.
A graded score per token, up to A+, computed from the verified onchain proof, the content-hash match, redundant permanent copies, and lock state. Shown as a badge and a detail card. Your profile rolls every holding into a portfolio Permanence Report.
An interactive proof on each token page. It simulates the operator-dependent layers, the Perpetual indexer, the CDN mirror, then even the IPFS pin, going offline one by one, while shard 0 stays lit and keeps resolving the artwork from Ethereum itself. It is reduced-motion safe.
A downloadable SVG certificate per token, carrying the title, artist, token id, content hash, the shard list, mint date, and the permanence grade. An archival record a collector can keep independently of the marketplace.
Addresses resolve to names.
Where an address has a name, Perpetual shows it instead of raw hex, across profiles, swaps, provenance, offers, and activity. Precedence is agnt.id → ENS → short address. Wallets without a name fall back to a short, copyable address.
agnt.id is an ENS-style identity layer of .agnt names (ERC-721), resolved over its public gateway. A wallet with a .agnt name leads and carries a small .agntbadge — verified reverse records show a tick — and the profile header links the name out to the holder’s public agnt.id profile. Type a .agntname into the ⌘K palette and it resolves straight to that profile. Absent an agnt.id name, a primary ENS name shows as before.
Resolution is presentational only. The underlying address is always the source of truth for ownership and settlement, and the interface never relies on a name to move value. Identity makes the marketplace legible without weakening any onchain guarantee.
Deploy and own your contract outright.
Artists deploy their own Forever Library contract instance via ForeverLibraryFactory rather than minting into a shared marketplace contract. They own it outright, and they can leave with it intact.
ForeverLibraryFactory.createCollection(name, symbol) deploys a new ForeverLibrary owned by your wallet in one transaction and emits a CollectionCreatedevent so the indexer discovers it automatically. The canonical “Default (open) collection” is the shared ForeverLibrary; sovereign collections are distinct contracts at their own address, addressed as [chainId]/[contract]/[tokenId].
A sovereign contract is yours. Perpetual indexes it the same way it indexes native mints, as a federated index over independently owned contracts. Nothing about your collection is held hostage by the marketplace: if you leave, your contract, your tokens, their provenance, and their permanence all leave with you, unchanged.
PFP drops and named series: create a collection, then mint multiple distinct 1-of-1s into it one at a time. Batch upload is a planned convenience; the contract supports it now.
This is the difference between renting space on a platform and owning the building. The marketplace becomes one client of your contract, not its landlord.
The index is public infrastructure, not a moat.
The indexer reads only public onchain data and public storage networks. No proprietary input is required to reconstruct it, and the schema is published in full so anyone can run their own.
That openness is what makes the central promise enforceable rather than merely stated. Because the index can be rebuilt from public sources alone, the marketplace is not a single point of failure for discovery any more than it is for storage.
Connect, mint, trade.
Three steps to using Perpetual. The marketplace is non-custodial throughout: it never takes custody of your assets or funds.
- 01
Connect a wallet. Sign in with any standard wallet. Connection is non-custodial; you keep your keys, and signing a listing or swap costs no gas until it fills.
- 02
Mint with shards. Upload your work (up to ~100 MB), set the royalty, and configure permanence. The mandatory
shard 0STATE shard (SSTORE2) is auto-configured; the LOG shard plus IPFS, Arweave, and Irys copies are added by default. Choose a collection (Default / your sovereign contract / deploy a new one) and a mint type (1-of-1orEditionof N — editions share one STATE/LOG/off-chain copy, each token individually owned). Optionally lock the shards for guaranteed immutability. - 03
Buy, offer, or swap. Purchase at a fixed price, make an offer, or propose an NFT-for-NFT or criteria swap. Fees and royalties, and any bridge fee on a cross-chain trade, are shown before you confirm.