Merchant Deposits

The deposit system provides economic security for the marketplace. Merchants must stake USDT before listing products, creating economic incentives for honest behavior.

How It Works

Creating a Deposit

  1. Merchant calls DepositFactory.createDeposit() staking USDT (minimum 500, maximum 1,000,000)
  2. Factory deploys a MerchantDepositTemplate clone
  3. USDT transferred to deposit contract
  4. Deposit status: Active

Deposit Lifecycle

Active → Frozen (during arbitration) → Active
Active → Withdrawing (cooldown period) → Withdrawn
Active → Zombie (365 days no activity) → Reclaimed

Deposit Deductions

When a buyer wins arbitration, compensation can be deducted from seller's deposit:

  1. Product contract calls merchantDeposit.deduct(amount, buyerAddress)
  2. USDT transferred from deposit contract to buyer
  3. If deposit balance falls below minimum, merchant cannot list new products until replenishing

Withdrawal Process

  1. Merchant delists all active products
  2. 24-hour cooldown period begins (DELIST_COOLDOWN)
  3. After cooldown ends, merchant can withdraw deposit
  4. This delay protects buyers who may still need to file disputes

Arbitrator Qualification

To become a community arbitrator, a merchant's deposit balance must be ≥ 1,000 USDT (ARBITRATOR_MIN_DEPOSIT). After staking, a 30-day qualification cooldown (QUALIFY_COOLDOWN) must pass before the merchant can participate in voting.

Zombie Account Reclamation

Deposits inactive for 365 days (no product operations, no orders) are marked as "zombie":

  1. Admin triggers adminRecycleDeposit() on DepositFactory
  2. Factory forcibly delists all merchant's products
  3. USDT from deposit returned to merchant
  4. Deposit contract marked as reclaimed

This mechanism prevents USDT from being permanently locked in abandoned accounts.

Deposits as Trust Indicators

Deposit amount serves as an important merchant credibility metric:

Activity Tracking

DepositFactory tracks merchant activity to determine zombie status:

Security Mechanisms