Packaging and Shipping

We’re excited to be launching gasless pickup! Any recipient can now redeem a digital asset without needing to create, sign, or pay for a transaction.

Create your own gasless pickup transfer here.

Capsule Packaging and Shipping (CPaS)

Capsule Packaging and Shipping (CPaS) allows any user to transfer any asset with programmable features on the Ethereum and Optimism networks. These programmable features include:

  • Reroutable or cancelable transactions

  • Batching assets for transfer in one transaction

  • Gasless pickup, one-click obtaining of assets without signing into a wallet

  • Increased on-chain security with password/asset key verification

  • Off-chain requirements to transfer/receive assets

  • Immediate user onboarding on new blockchains

How it Works

Each transfer contains assets that are encapsulated in special NFTs – Capsule NFTs – which can hold any amount and type of assets, functioning as programmable wrappers. Capsule NFTs have a unique identifier with their own metadata, programmed features, and held assets. These Capsule NFTs are then shipped to an escrow contract with access limited only to the sender and the recipient of the transaction, where further programmatic conditions – including off-chain requirements – can be added to the transfer.

Finally, when all conditions are met, the programmed receiver of the transfer can pick up the assets without paying gas fees or even requiring a cryptocurrency wallet at the point of pickup.

Receivers pick up their assets through a link known as the Capsule Redemption Page. Each Redemption Page is designated by a unique Capsule NFT ID, which contains information about the packaged assets, shipment status, and security checks required to pick up the assets. Senders supply a Capsule Redemption link and password to a recipient (who is not required to sign in, and/or may not have a cryptocurrency wallet of their own), and if all security checks pass, the Capsule Relay will transfer the attached assets to the receivers wallet (paying gas fees on behalf of the receiver), creating a wallet if the receiver does not yet have one.

The Capsule Relay is currently supported by the Capsule team for seamless, one-click transaction. The ultimate goal for the Capsule Network is to decentralize the means of 'gasless transfer' by incentivizing a vast network of Capsule Node runners, who will exist around the world supporting transfers on any blockchain.

Capsule Relay transfer is entirely optional – users can send and receive transfers without utilizing the Capsule Relay by setting an address or ENS domain as the recipient. The benefits of using the Capsule Relay lie in a gasless, no-address-required experience for the receiver, although advanced users may opt into transferring to an already existing cryptocurrency address.

In Depth - Capsule Packaging and Shipping

Capsule Packaging and Shipping (CPaS) can be divided into two separate protocols: Capsule Packaging, and Capsule Shipping.

Capsule Packaging

Capsule Packaging is a formal name for the creation of Capsule NFTs transacted through Capsule Shipping. Capsule Packaging utilizes both Classic Capsules and Iron Capsules from the CapsuleNFT Protocol, and allows for optional extension for packaged Capsules by extending ownership of the CapsuleNFT Collection to a Capsule Logic Contract.

Capsule Shipping

Capsule Shipping is a formal name for the transaction experience presented by sending assets through Capsule NFTs through the Capsule Shipping contracts. Capsule Shipping utilizes Capsule NFTs created through the Capsule Packaging contracts as shipping containers. Instead of direct transfer of a Capsule from one address to another, the Capsule Shipping Contract acts as a programmatic escrow, requiring a user to pass certain predetermined steps before accepting a Capsule shipped to their address. This particular escrow contract is named the Capsule Fulfillment Center, mirroring common Web2 shipping procedures where options of regular shipment can be changed or canceled at will.

The Capsule Fulfillment Center is referred to as the Post Office in PostOffice.sol

The example above displays the difference between sending a Capsule directly to another address versus “shipping” a Capsule (using CPaS) to another address. Transferring a Capsule from one address to another causes the secondary address to “receive” the Capsule without any predetermined checks. It requires only one transaction, although if multiple assets are packaged within a Capsule, it may significantly reduce gas cost for the batched asset transfer.

In contrast, “shipping” a Capsule using CPS has two steps: the “shipment” transaction, and the “redemption” transaction. First, a Capsule properly “packaged” using Capsule Packaging is either accepted or minted in conjunction with a “shipment” designation - coded as package information. A shipment designation currently contains, but is not limited to, the following settings:

  • packageType - numeric package code designated to the “shipment” for tracking

  • capsuleType - Classic or Iron Capsule type used

  • manager - the manager of the package, often the sender, but can be any secondary contract - can also be set to the zero address

  • receiver - the address to accept the package - can also be set to the Capsule Relay to allow for gasless, off-chain package pickup

  • securityType - programmatic requirements necessary for package acceptance

  • secureHash - if provided, a password necessary for package acceptance

  • isDelivered - a boolean determining whether the shipment has been accepted

After a Capsule has been properly “shipped”, it remains within the Capsule Fulfillment Center until further action. Some actions are listed below for quick example:

  • The Capsule has been properly shipped and is waiting acceptance

  • The Capsule has been properly shipped, but requires a new password

  • The Capsule has been shipped to the wrong address, and requires receiver update

Once a Capsule has been properly “shipped” with CPaS (using the example above, it is held within the fulfillment center with proper package information), two options exist:

  • the “shipped” Capsule may have its shipment options modified by the package manager

  • The “receiver” may accept the package, given the proper package requirements are passed

When the second option occurs (the receiver accepts the package), the CPaS shipping process is completed. The receiver can opt into accepting the Capsule NFT itself, or redeeming the Capsule, directly receiving the assets. Extra programmatic steps may be added onto the redemption of the Capsule in a user's hands.

Further Capsule Relay documentation can be found here.

Capsule Packaging and Shipping code documentation can be found here.

You can learn more about Capsule by visiting our website, using our application, following our Twitter, or joining the Capsule community on Discord.

Last updated