Skip to content



When signing up in the Living Assets platform, a new Universe is created, allowing creation, evolution, and trading of NFTs. The API url will be provided, to access and query the newly created Universe.


This Universe is deployed in the sandbox environment, where clients can develop their application, experiment with the API, create, evolve, trade and break things. When ready to go live, a new empty Universe will be created in the production L2.

Nodes use standard web3 cryptographic signatures to verify that changes made within a Universe are done so by the rightful Universe owner. To start using the sandbox environment, clients need to own a web3 cryptographic identity.

This identity can be created using the Onboarding Wallet without having to touch a line of code, or using a few lines of code (in different languages).

No-code account creation

Sign up for a sandbox account

Go to the sandbox marketplace and click the sign up button in the top right. Follow the instructions to create an Onboarding Wallet.


Communicate the public address

When sign-up is completed, a brand new web3 account will have been created, and an email with the corresponding recovery data will have been sent.

The public web3 address can be found in that email; it just needs to be communicated in order for the Layer 2 to create a Universe that only this account can manage.

Note that the email contains the encrypted identity, which encrypts the private key with the password set during the account setup process. The encrypted identity and password are needed to access the Dashboard.

Note that the public web3 address can also be found by simply logging in the sandbox marketplace and going to account -> settings.


Account Creation by Code

The account, and the corresponding encrypted identity, can also be created locally, by simply following the code examples below. As in the no-code case, just communicate the resulting web3 public address when done.

const identity = require('freeverse-crypto-js');
const account = identity.createNewAccount();

// account.address => public web3 address
// account.privateKey => private key of account
// assuming Nethereum libraries installed

Nethereum.Signer.EthECKey ecKey = Nethereum.Signer.EthECKey.GenerateKey();

// ecKey.GetPublicAddress() => public web3 address
// ecKey.GetPrivateKey() => private key of account
# pip install web3

from web3 import Web3
w3 = Web3()
acct = w3.eth.account.create()

# acct._address => public web3 address
# acct._private_key => private key of account

You will need your encrypted identity in order to access the client dashboard for your Universe. The same library contains the encrypt/decrypt methods, as shown in this and this examples.

const identity = require('freeverse-crypto-js');
const encrypted = identity.encryptIdentity(privateKey, userPassword);
const decrypted = identity.decryptIdentity(encrypted, userPassword);

where privateKey is the private key generated above, and userPassword is any chosen password that will be use to encrypt the private key.