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
typeAppBuildJson= { 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.
typeCollectibleBuildJson= { 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 }[]}