Cargo Metadata

Cargo has a unique metadata structure to support audio, video, and 3D files.

Cargo extends the ERC-721 metadata shape to be able to support audio, video, and 3D files. If you would like to display Cargo's metadata on your platform, or if you'd like to create a collectible on another platform and would like Cargo to support audio, video, or 3D please use the following metadata structure:

Supported file types

Audio - MP3

Video - MP4, WEBM

3D - GLB, GLTF files + Associated files

Cargo Metadata Structure

// TypeScript type
type Metadata = {
// Standard ERC-721 fields
name: string;
image: string;
description: string;
// Cargo specific fields
cargoDisplayContent: {
type: "3D" | "audio" | "video";
// Array of files
// 3D files can have multiple files. There will be one .gltf file which
// may have associated files.
files: string[];
// 3D files have some additonal customizable options
// Set initial camera position
position?: {
x: number;
y: number;
z: number;
// You can set the background using valid css values
cssBackground?: {
backgroundColor?: string;
backgroundImage?: string;
backgroundPosition?: string;
backgroundSize?: string;
backgroundRepeat?: string;

Updating Metadata

When you create a new project on Cargo you will be able to update the metadata of the NFTs within that collection. You can update metadata directly from your Cargo dashboard, or using Cargo JS.