> For the complete documentation index, see [llms.txt](https://docs.theo.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.theo.xyz/products/thusd/mint-and-redeem.md).

# Mint & redeem

Whitelisted parties can mint and thUSD directly using accepted stablecoins.

{% hint style="info" %}
Minting and redeem is for whitelisted entitites only. Most onchain users should purchase thUSD from secondary markets such as Uniswap and Curve.
{% endhint %}

## **Overview**

thUSDMinter is a contract that handles minting and redeeming thUSD stablecoins against collateral assets. A backend server determines exchange rates off-chain, constructs an EIP712-signed order, and submits it to the contract for execution. The contract validates the signature, enforces safety limits, and executes the token transfers.

**All minting is 1 to 1 backed through invariants in the minting contract.** Even in the case of backend server compromises, an undercollateralized mint **cannot** occur. For more information, please review our [contract architecture](/developers/contract-architecture.md).

## Accepted mint asets

* **USDC**
* **USDT**

## **Architecture**

```
                ┌──────────-┐
                │  Server   │  Determines amounts, signs EIP712 order
                └─────┬─────┘
                      │ submits Order + signature
                      ▼
┌──────────────────────────────────┐
│         ThUSDMinter              │
│                                  │
│  • Verifies EIP712 signature     │
│  • Checks whitelist              │
│  • Transfers collateral          │
│  • Mints/burns thUSD             │
└──────────────────────────────────┘
        │                    │
        ▼                    ▼
   ┌─────────┐        ┌─────────────┐
   │  thUSD  │        │ Mint/Redeem │  (receives/sends collateral)
   └─────────┘        └─────────────┘
```

## Mint/redeem user flow

1. Build mint/redeem order using Theo's thUSD SDK
2. Sign the order with a whitelisted wallet
3. Post signed order to mint API (must submit a permit signature alongside order if USDC and USDT has not already been approved to the minter contract)
4. Receive thUSD or stablecoin collateral

## Become a minter

Reach out to the Theo team to become a minter for thUSD. Minters must KYC to receive whitelist status.&#x20;
