Mint & Redeem Key Functions

Important functions of the mint and redeem smart contract

Roles in CAMP Minting contract

Overview

The CAMP minting contract has been designed to offer a safe and secure platform for the creation of USDca. Its atomic operations ensure that tasks are either fully completed or reverted, leaving no room for partial executions. Its immutable nature guarantees that its critical rules and operations cannot be easily altered, ensuring consistency and trust in the process. It has these key pieces of functionality:

  1. Minting: Minters can mint USDca by providing assets and receiving USDca tokens in return. The backing assets are transferred to "Off-Exchange Settlement" providers based on a predefined route. The minting process is subject to a maximum limit set by the contract.

  2. Redemption: Redeemers can redeem their USDca by providing them as input and receiving the underlying assets back USDca in return. The redeemed USDca tokens are burned from the user's balance. The redemption process is subject to a maximum limit set by the contract.

  3. Signature Verification: The contract cryptographically verifies the signature provided by the user to ensure the authenticity of the minting or redemption order.

  4. Supported Assets: The contract maintains a strict list of supported assets that can be used as backing assets for minting and redemption.

  5. Custodian Addresses: The contract maintains a strict list of custodian addresses to which backing assets can be transferred during the minting process.

  6. Max Mint/Redeem Per Block: The contract sets a maximum limit for the number of USDca tokens that can be minted or redeemed per block.

Roles in smart contracts are what control lower level operations and function calls. It's a security feature, like AWS IAM, that allows the authors of smart contracts, and the users using them once deployed to the blockchain, to be certain of how they can operate.

Despite being named the "CAMP Minting contract", it is responsible for both the minting & redeeming functionality of USDca.

Roles in the CAMP Minting contract

There are five roles in the CAMP Minting contract. You can view the deployed CAMP Minting contract on the Ethereum blockchain here.

Role
Type
Controller
Role Count
Functions / Notes

ADMIN

Multi-Sig

CAMP Labs

1

  • Transfer Ownership

  • Add/remove supported collateral asset

  • Add/remove custodian addresses

  • Grant/revoke Minter, Redeemer, Gatekeeper roles

  • Set max/mint mint/redeem per block

  • Reenable mint/redeem

GATEKEEPER

EOA

Shared between

  • CAMP Labs

  • External Security Firms

3+ internal 3+ external

  • Disable mint/redeem

    • Disables when they execute at incorrect prices on chain

    • Limits damage on mint/redeem roles compromise

MINTER

EOA

CAMP Labs

20

  • Mint

  • Transfer to approved "Off-Exchange Settlement" providers

REDEEMER

EOA

CAMP Labs

20

  • Redeem

Last updated