Hello Frens,

I’d like to share some exciting news with you. Cargo has been acquired! We have sunset our current services, including marketplace APIs and minting tools. To our subscribed customers, we will be refunding you for one month of service. We will continue to host existing NFT metadata and unlockable content associated with any Cargo NFT for the foreseeable future.

Thank you to all of you who have supported the platform over the last few years. It was built out of a desire to bring NFTs to the world and help people easily create NFTs at scale. I’d say we played a part in doing that. When I started building what would become Cargo in late 2017 I knew that NFTs would be big and at some point the world would catch up. Well, the world has caught up. We had a few firsts; unlockable content associated with NFTs, Magic Minting (aka Lazy Minting), split royalties and payments, multi-chain support for Polygon, Ethereum, and xDai, ERC-2309 and an implementation allowing for the standardized creation of an arbitrarily large amount of NFTs in one transaction for a cost comparable to creating one NFT in standard smart contracts.

Thank you again for coming along with me on this journey. See you in the Metaverse.

pizzarob
Founder


Locked content


Advanced

If you deployed a smart contract through Cargo and are advanced in Web3 you can interact with your contract on the blockchain with the following information.

Here is the ABI for the Super 721 smart contracts deployed through Cargo.

Methods

The Cargo Super 721 smart contract uses the ERC-721 and ERC-2309 standards. The contract adheres to the core 721 standard and the metadata extension. The Cargo Super 721 smart contract does not implement the optional enumeration extension - enumeration can be determined using Transfer and Consecutive Transfer (ERC-2309) event logs.

Core ERC-721 Methods

ERC-721 Metadata Extension Methods


transferMultiple(from, to, fromAddress, toAddresses)

This is a convenience method that can be used to transfer consecutive batches of arbitrary NFTs by ID. This method uses arrays and loops, so keep in mind that the more NFTs you transfer the higher the transaction fee will be. There will be an upper limit on the amount of NFTs you can transfer in one transaction.

Arguments

from - uint256[] An array which contains the starting token IDs in a consecutive range. This must correspond to the integer at the same index in the to array.
to - uint256[] An array which contains the ending token IDs in a consecutive range. This must correspond to the integer at the same index in the from array.
fromAddress - address The wallet address which currently owns the NFTs to be transferred.
toAddresses - address[] An array of addresses which correspond to the indices of the from and to arrays.

batchTransfer(fromTokenId, toTokenId, fromAddress, toAddress)

You can use this method to transfer a consecutive range of NFTs. The transferMultiple method uses this method under the hood, so the same limitations apply.

Arguments

from - uint256 The starting token ID in a consecutive range.
to - uint256 The ending token ID in a consecutive range.
fromAddress - address The address which currently owns the NFTs to be transferred
toAddress - address The address to receive the NFTs

updateCreator(iKnowWhatIAmDoing, newCreator)

You can use this method to update the contract owner. By default the creator will be set as the original wallet address which deploys the contract. Only the current creator can call this method.

Arguments

iKnowWhatIAmDoing - bool A precautionary boolean. Set to true to confirm that you know what you are doing.
newCreator - address The wallet address of the new creator.

creator()

A view function that returns the creator address. The creator is initially set to the wallet address which deployed the smart contract via Cargo.


burn(tokenId)

This method can be used to "burn" an NFT.

Arguments

tokenId - uint256 The token ID of the NFT to burn

version()

A view function. This method can be called to determine the version of the smart contract.


tokenURI(tokenId)

You can use this method to get the token URI of the specified token ID. The base URI will have the contract address and token ID appended example: baseUrl + contractAddress + '/' + tokenId"

Depending on the version of your contract the appended path parameters may include an additional /v3 which is added after the token ID. Version 3 will have the additional parameter. The version can be checked by calling the version method.

Arguments

tokenId - uint256 The token ID of the NFT to burn

updateUriBase(base)

The creator of the contract can use this method to update the base URI for the return value of the tokenURI method. See the tokenURI method above to see what is appended to the base URI.


unsetBase()

The The creator of the contract can use this method to remove the set base URI thus reverting to the default base URI.