Integration
  • Overview
  • Getting Started
  • SDK Integration
    • Standard
    • Advanced
  • Game API
    • Overview
    • Games
    • Collections
    • Tokens
    • Marketplace
    • Transactions
    • Users
  • Misc
    • FAQ
    • Best Practices
    • Staging Environment
    • Account Management
    • Webhooks
    • IAP Setup
      • Android. How to create IAP Vessel Product
        • How to find Product ID
        • How to get Public Key
        • How to setup Google Service Account and get Credentials JSON File
      • iOS. How to create IAP Vessel Product
        • How to find Product ID
Powered by GitBook
On this page

Was this helpful?

  1. Misc

FAQ

Frequently Asked Questions

PreviousUsersNextBest Practices

Last updated 2 years ago

Was this helpful?

What is metadata?

If you provide rich digital asset metadata, applications like Vessel Marketplace can pull in these data and easily display them in-app. Digital assets on a given smart contract are typically represented solely by a unique identifier (such as the token ID in ERC1155). Metadata allows these assets to have additional properties, such as a name, description, attributes, and images.

What is the difference between mutable and immutable metadata?

Immutable metadata cannot be edited as they are fixed in the smart contract, whereas you can alter mutable metadata.

How do you create unique variations of a NFT?

After you set up your Token within the Vessel dashboard, you can use the clone method of the Game API to create unique variations of your token.

For example:

You have a token template for a Great Sword (com.fungames.epicrpg.greatsword) and you want to create a copy of this sword within your game for a given user. You can do so by means of the following POST request:

This creates the following token:

com.fungames.epicrpg.greatsword:1

A second POST request to the same endpoint mints an additional clone of that token:

com.fungames.epicrpg.greatsword:2

Developers typically use this method as a way to track each minted NFT individually within their projects.

Do you have a test project that you can provide us?

What are the gas fees for consumers utilizing your blockchain?

There are none at this time.

Who should I contact for support?

Why does my app keep getting “Connection Failed” when it requests a Wallet Connection to Vessel on iOS?

<key>LSApplicationQueriesSchemes</key>
	<array>
		<string>vesselwa</string>
	</array>

Why can’t I see a minted token in my Vessel app?

This can happen if you minted the token in the production environment but you are running the Vessel app in another environment. Verify that your Vessel app is pointing to the production environment by taking the following steps:

  1. Open the Vessel app.

  2. Click the Profile tab, at the bottom right.

  3. On the profile page, click the settings gear at the top right.

  4. Scroll down to the bottom and click the Logout button.

  5. After you log out, click and hold the Vessel logo at the top left for five seconds. A dropdown appears from which you can choose your environment. Make sure PRODUCTION is selected.

  6. Log in again.

What does Vessel provide for my app?

Vessel provides out-of-the-box blockchain infrastructure for your mobile application, allowing you to offer your users the capability to mint, buy, sell, and store NFTs with ease. Vessel allows you to focus on your app design, content, and users, while making it easy to have a full-featured blockchain application. Plus, you can set a fee on secondary sales or peer-to-peer trading, so that you keep earning long after the initial item sale.

Customization

You can tailor your Vessel storefront exactly to your project, and can create a fully customizable landing page and marketplace.

Liquidity and discoverability

Consumers use the Vessel iOS & Android application to discover, purchase, and sell rare digital items. By listing your game on Vessel, you open up your items to a large user base of gamers, traders, and crypto enthusiasts. This increases both the liquidity of your items and the discoverability of your app.

Vessel has a Unity test project which is available to be shared.

Please reach out to with any questions or issues.

Make sure you have added the following code in Xcode to your Info.plist. If your issue persists, reach out to for additional assistance.

https://github.com/OpenVesselIO/Wallet-SDK-Unity-DemoApp
support@openvessel.io
support@openvessel.io
  • What is metadata?
  • What is the difference between mutable and immutable metadata?
  • How do you create unique variations of a NFT?
  • POSTCreate a clone token based on parent fqTn
  • Do you have a test project that you can provide us?
  • What are the gas fees for consumers utilizing your blockchain?
  • Who should I contact for support?
  • Why does my app keep getting “Connection Failed” when it requests a Wallet Connection to Vessel on iOS?
  • Why can’t I see a minted token in my Vessel app?
  • What does Vessel provide for my app?

Create a clone token based on parent fqTn

post
Path parameters
fqTnstringRequired

Fully qualified token name

Example: com.studio.app.collection.token
Header parameters
X-Auth-KeystringOptionalDefault: ""Example: abcdef0123456789ABCDEF
Body
tostringOptional

Address of the token receiver

Example: 0xcafe000102030405060708090a0b0c0d0e0fbeefPattern: ^0x[a-fA-F0-9]{40}$
cloneMutablePropertiesbooleanOptional

Should mutable properties of parent token be clonned as well

displayInDiscoverybooleanOptional

The flag that controls display in the Discovery

Default: trueExample: true
Responses
202
Accepted
*/*
400
Bad Request
*/*
401
Unauthorized
*/*
403
Forbidden
*/*
404
Not Found
*/*
405
Method Not Allowed
*/*
409
Conflict
*/*
429
Too Many Requests
*/*
500
Internal Server Error
*/*
post
POST /tokens/manage/{fqTn}/clone HTTP/1.1
Host: game-api.openvessel.io
Content-Type: application/json
Accept: */*
Content-Length: 211

{
  "to": "0xcafe000102030405060708090a0b0c0d0e0fbeef",
  "mutableProperties": {
    "ANY_ADDITIONAL_PROPERTY": {
      "displayName": "text",
      "value": "text",
      "propertyOrder": 1
    }
  },
  "cloneMutableProperties": true,
  "displayInDiscovery": true
}
{
  "response": {
    "txHash": "text",
    "description": "text",
    "details": {
      "fqTn": "text"
    }
  }
}