The vault
Buy access to an encrypted 3D model on BSC. The unlock key is granted through a real cross-chain call into Greenfield's programmable storage — a BSC smart contract creating a permission grant on a separate data-availability chain, then this page watching that grant settle and unlocking the model in front of you.
…
Balance …
Browse
Live listings read straight off the GreenfieldVault contract's on-chain events.
Sell a model
Encrypts and uploads your GLB to Greenfield, then lists it on the vault contract from
your connected wallet. Requires the contract to be deployed and your wallet to hold
Greenfield ROLE_CREATE on the uploaded object.
How this page stays honest
Listings and purchase state are read live from the GreenfieldVault contract — never a
hardcoded flag. If the contract isn't deployed to this network yet, the banner above says so
plainly instead of showing a fake empty state. The Greenfield permission grant your purchase
triggers settles asynchronously (cross-chain by design) — this page polls and shows "granting
access…" honestly rather than hiding the wait. Your buyer identity here is a local session
key (see src/bnb/vault-session.js) because unlocking uses ECIES key-wrapping to
your own public key, which a browser-extension wallet like MetaMask never exposes a raw
private key for — MetaMask is only used to fund that session key with tBNB, or to sign a
seller's own listing transaction.