Skip to main content

Staking USDC

Earn passive yield by staking USDC in the Trust Vault.

How to Stake

1

Navigate to Trust Vault

Go to the Trust tab and select Vault
2

Enter Amount

Input the amount of USDC you want to stake
3

Confirm Transaction

Review the details and confirm. Your wallet will process the transaction.
4

Receive tmUSDC

You’ll receive tmUSDC tokens representing your stake

Understanding tmUSDC

tmUSDC (Trust Mint USDC) is your receipt token:
interface tmUSDCPosition {
  balance: number;        // Your tmUSDC balance
  exchangeRate: number;   // Current tmUSDC/USDC rate
  usdcValue: number;      // balance * exchangeRate
  earnedYield: number;    // Total yield earned
}

Exchange Rate

The exchange rate starts at 1.0 and increases over time as interest is earned:
Day 0:   1 tmUSDC = 1.0000 USDC
Day 30:  1 tmUSDC = 1.0066 USDC (+0.66%)
Day 90:  1 tmUSDC = 1.0200 USDC (+2%)
Day 365: 1 tmUSDC = 1.0800 USDC (+8%)

Current Rates

Rates are variable and depend on vault utilization. Check the app for current rates.
MetricCurrent Value
Supply APY~8%
Total Staked$X,XXX,XXX
UtilizationXX%
Exchange Rate1.XXXX

Withdrawal

You can withdraw your staked USDC at any time (subject to liquidity):
1

Navigate to Vault

Go to Trust > Vault > Withdraw
2

Enter Amount

Specify how much tmUSDC to redeem (or “Max” for all)
3

Receive USDC

Your tmUSDC is burned and USDC is returned at the current exchange rate
If vault utilization is very high (>95%), withdrawals may be delayed until borrowers repay or new deposits arrive.

Yield Calculation

Your yield is calculated based on:
function calculateYield(position: Position): number {
  const currentValue = position.tmUSDC * getCurrentExchangeRate();
  const originalValue = position.depositedUSDC;

  return currentValue - originalValue;
}

// Example
const deposited = 1000;  // USDC
const tmUSDC = 1000;     // Received at rate 1.0
const currentRate = 1.08; // After 1 year

const currentValue = 1000 * 1.08; // 1080 USDC
const yield = 1080 - 1000;        // 80 USDC profit

API Integration

Stake programmatically via the API:
# Stake USDC
curl -X POST "https://api.usmewe.com/v1/vault/stake" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"amount": 1000}'
# Check position
curl -X GET "https://api.usmewe.com/v1/vault/position" \
  -H "Authorization: Bearer YOUR_TOKEN"

API Reference

Full Vault API documentation