BNB Chain × three.ws

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.

BSC Testnet Session 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.