Skip to main content

Asset Teleporter

Many of us are already storing key aspects of our metaverse identities on blockchains and crypto wallets, in the form of digital assets and NFTs we have bought and earned. Therefore, an asset teleporter needs to solve two key problems: 1) how your virtual world can declare what kind of digital assets your world can utilize and 2) how users can authorize virtual worlds to access their digital assets stored in blockchains and crypto wallets.

Declaring Supported Assets with Open Portal Schema

If your world is about car racing, then you may support users teleporting in their own virtual cars and racing costumes from their crypto wallets. But other items in their wallets such as Medieval swords and magic orbs would not be useful in your world.

There needs to be a way for you to signal to users which digital assets your world can make use of. When you create your portal using Open Portal Schema, you can explicitly declare what kind of digital assets your world can utilize by defining the assets.objects property.

{
"assets": {
"objects": ["avatar", "costume", "car"]
}
}

In the above example, you are declaring that your car racing world accepts inbound teleportation of a user’s avatar, costume and car – presumably because users can use their own avatar, costume and car to race in your world.

What are appropriate values for assets.objects? In short, you can use whatever values you like. However, as more and more users own NFTs and digital assets that represent metaverse objects (e.g. an NFT-backed virtual car), we see increasing need for common semantics. MHTTP is developing an Open Asset Ontology – a common vocabulary for asset artists and virtual world developers to create and use interactive assets for the Metaverse.

Declaring Supported Wallets and Blockchains with Open Portal Schema

You can also declare which crypto wallets and blockchains your world can teleport digital assets from. This is done using the assets.sources property as shown below.

{
"assets": {
"objects": ["avatar", "costume", "car"],
"avatar_formats": ["model/gltf+json", "image/png"],
"sources": ["metamask", "phantom"]
}
}

Asset Teleportation – Authorization and Importing

When users travel through your portal and land in your world, you will be able to prompt them for authorization access and importing of their digital assets into your world.

When we explored the initial design for asset teleportation, philosophically we could either have the originating world export the assets, or the destination world import the assets. Because user permission may be required to access asset sources, and because it is the destination world that will be putting the resources to use, having the destination world seek user permission and import the assets is the logical choice.

On our roadmap is an Asset Teleporter library that you can include into your virtual world, which will perform the following tasks:

  • Authorize - prompt users to connect their web3/crypto wallets and authorize read-only access to their digital assets
  • Import - import the users’ digital assets into your environment
  • Filter and Select - filter the digital assets by your portal’s assets.objects property, and allow users to make further selections