All articles
streamflownftmetaplexlocksolanavestingcollectibles

Streamflow: NFT Lock — hold a Metaplex NFT until a date you can prove

Streamflow NFT Lock locks a Metaplex-native NFT until an unlock date, with optional cancel and recipient-change permissions. App flow, constraints (frozen NFTs), and how it fits next to fungible token locks and SDKs.

Share
devrels.xyz/a/183short link

Streamflow: NFT Lock — hold a Metaplex NFT until a date you can prove. Not a marketplace listing freeze. Not a vague “trust me.” A Streamflow lock that takes the NFT out of free circulation until unlock, then lets a designated wallet claim it.

Official guide: NFTs Lock. App: app.streamflow.finance. Docs home: docs.streamflow.finance. X: @streamflow_fi. Broader protocol map: Streamflow programs for vesting, locks, and airdrops.

What problem it solves

Fungible locks and vesting are table stakes on Solana. Collectibles needed the same story: prove you will not list or flip a specific NFT for N days — founder PFP, community badge, partner 1/1, prize that unlocks after an event.

Streamflow’s NFT Lock does exactly that for Metaplex-native NFTs: the NFT leaves free wallet control into the lock until the unlock timestamp; then the recipient wallet can claim it. Recipient can be you (skin in the game) or someone else (timed gift / delayed delivery).

Prerequisites

  • NFT sits in the connected wallet you use to create the lock.
  • A recipient address for unlock (self or other).
  • NFT is not frozen. Frozen assets (marketplace listings, other protocols) will not show in search or will fail the lock — unfreeze first.

App flow (create)

  1. Open the Streamflow app → Locks in the left sidebar.
  2. On the NFTs section, click Create new.
  3. Choose the NFT type (Metaplex-native path as documented).
  4. In the NFT field, search by name and select from the connected wallet.
  5. Set Unlock date (date + time). After this instant, the NFT becomes claimable by the recipient.
  6. Set the recipient wallet:
    • Leave Use connected wallet on to return the NFT to yourself at unlock.
    • Turn it off to paste another address or pick from the address book (timed transfer / gift).
  7. Optional permissions (both default off):
    • Allow cancellation — early return of the NFT to you before unlock. Off = irreversible until unlock.
    • Allow recipient change — update who receives the NFT while locked. Off = recipient fixed at creation.
  8. Continue — the lock appears under the NFTs lock section.
text
Defaults (hard commitment)
  allow_cancellation     = false
  allow_recipient_change = false

After create
  NFT held until unlock_date
  then claimable by recipient_wallet

If frozen / listed elsewhere
  unfreeze first — else missing from search or lock fails

After lock

  • NFT is held for the full duration when cancel is off — no early return.
  • Recipient is fixed when recipient-change is off.
  • At unlock, the recipient claims the NFT (not necessarily the creator).

That split — creator locks, recipient claims — is the useful product shape for gifts, prizes, and “founder holds until TGE+90d” style optics.

How it sits next to other Streamflow locks

ProductAssetRelease shape
Token LockFungible SPL / Token-2022Cliff-style: locked until date, then available
LP lock / QuicklockLP positions / fast pathSame lock family; LP-specific UX
NFT LockMetaplex NFT (1 unit)Cliff to unlock; claim by recipient
VestingFungibleSchedule / progressive unlock

Vesting still does not replace NFT Lock: progressive release of a single NFT is not the model — it is a date-gated custody transfer of one asset.

Builder notes

  • Standard — docs specify Metaplex-native NFTs. Do not assume compressed cNFTs or arbitrary Token-2022 “NFT-like” mints work without checking the live type picker.
  • Composable product, not a new L1 primitive — for custom program UX (in-game locks, stake-to-lock NFTs), you may still want Metaplex + your program. Streamflow wins when you want audited app + transparency rails without shipping escrow yourself.
  • SDK — Streamflow’s public JS/Rust SDKs are centered on streams, vesting, distributor, staking (JS SDK, js-sdk monorepo). Treat NFT Lock as an app-first surface unless/until NFT lock helpers land in the packages you pin — verify against current SDK docs before promising API parity in a client integration.
  • Optics — pair with Streamflow Token Dashboard / Universal Search culture: public, verifiable time-locks beat screenshot promises.

When to use it

  • Founder/team PFP or brand NFT held through a milestone date
  • Community prize that unlocks after an event ends
  • Partner 1/1 delivery with a delayed claim wallet
  • “Will not list until …” commitment without relying on marketplace UI alone

Skip it when you need staking yield on the NFT, fractional ownership, rental, or cNFT tree batch ops — different product categories.

Quick checklist

  1. Unfreeze / delist the NFT.
  2. Connect the wallet that holds it.
  3. Locks → NFT Create new → type → select → unlock time → recipient.
  4. Leave permissions off unless you explicitly want an escape hatch.
  5. Share the lock / dashboard link if transparency is the point.
  6. At unlock, claim from the recipient wallet.

Resources

Bottom line

Streamflow NFT Lock is the collectible version of their cliff lock: Metaplex NFT in, time gate, recipient claims out. Defaults are hard-commit; flip cancel or recipient-change only when the product needs an escape hatch. Frozen assets fail — clear marketplace state first. Use the app today for transparent holds; confirm SDK coverage before you wire NFT locks into backend automation.

Keep reading

Get new articles in your inbox

Technical deep-dives on Solana tooling, infrastructure, and ecosystem. No noise.

Streamflow: NFT Lock — hold a Metaplex NFT until a date you can prove | devrels.xyz