Links

Manifest

Description of the required manifest schemas
Each deployment bundle should contain an xnft.json file at the root level of the .zip that contains the important information for describing, defining properties, and account linking for the xNFT being published.

Apps

type AppBuildJson = {
kind: 'app'
storage: 'arweave' | 'aws' | 'ipfs' // backend for storing published content
name: string // 32 character limit for seed constraints
version: string // Semantic version of the xNFT
description: string // 40 character maximum
longDescription?: string // optional longer form description
website: string
installAuthority?: string // Base-58 public key
installVault?: string // Base-58 public key
price?: number // Installation price in SOL
supply?: number // Number of installations to allow (unset/undefined is infinite)
tag?: 'none' | 'defi' | 'game' | 'nfts' // Defaults to 'none'
royaltiesPercentage?: number
programIds?: string[] // List of program public keys that are used
props?: any,
contact: string // Generic field for entering a method of contact
entrypoints: {
// Relative paths to the platform's code entrypoint files
default: {
android?: string
ios?: string
web?: string
}
[entry: string]: {
android?: string
ios?: string
web?: string
}
}
icon: {
// Relative paths to the asset file
sm?: string
md?: string
lg?: string
}
screenshots?: string[] // Relative paths to asset files
splash?: {
src: string // Relative path to asset file
height: number
width: number
}[]
}

Collectibles

Most of the properties that are configurable for an App xNFT are removed from the configuration file for Collectible types and are inherited from the metadata of the associated collectible asset.
type CollectibleBuildJson = {
kind: 'collectible'
storage: 'arweave' | 'aws' | 'ipfs' // backend for storing published content
version: string // Semantic version of the xNFT
collectibleMint: string // The public key of the associated collectible's token mint
tag?: 'none' | 'defi' | 'game' | 'nfts' // Defaults to 'none'
programIds?: string[] // List of program public keys that are used
props?: any,
contact: string // Generic field for entering a method of contact
entrypoints: {
// Relative paths to the platform's code entrypoint files
default: {
android?: string
ios?: string
web?: string
}
[entry: string]: {
android?: string
ios?: string
web?: string
}
}
screenshots?: string[] // Relative paths to asset files
splash?: {
src: string // Relative path to asset file
height: number
width: number
}[]
}