Holders of bundle tokens can swap their bundle token for a different bundle token for a dynamic fee. Effectively this is the process by where a bundle token is unbundle for a specific GCO2 and then that GCO2 is deposited into another bundle. This function can be performed even if the bundle token holder is not permissioned to hold GCO2s through the use of a helper smart contract.
The helper smart contract is a smart contract permissioned to hold GCO2s that performs the steps above automatically. To initiate a swap, a bundle token holder goes to the Flowcarbon dApp and connects her wallet. She then selects the new bundle she would like to trade her existing bundle token for. If there exists GCO2s in the existing bundle that meet the acceptance criteria of the new bundle, the helper contract burns the original bundle tokens, transfers the GCO2 from the old bundle to the new bundle and issues the swap requestor the new bundle tokens.