Skip to main content

The rule

Per PS-SOP §2.6 (“return-to-source”), withdrawals follow a cleared-deposit-source policy:
  1. If the destination is a wallet that previously deposited into the platform and was AML-cleared, the withdrawal proceeds on the fast path.
  2. If the destination is new and the amount is below the EDD threshold (default 5 000 USDC), the withdrawal is rejected with destination_not_cleared.
  3. If the destination is new and the amount is at or above the threshold, the withdrawal enters MLRO_REVIEW.

How a deposit source becomes cleared

Every on-chain deposit triggers an AML screen on the depositing EOA. On a clean result the source is recorded as cleared and is immediately eligible as a withdrawal destination for the same vault. A failed screen leaves the source uncleared (fail-closed) and a withdrawal to that destination follows the EDD review path or is rejected per the rule above. On testnet the AML screen is suppressed (see Environments) so every deposit auto-clears for integration testing.

Why

This is an AML countermeasure. A market maker who deposits from Wallet A cannot directly withdraw to Wallet B without first depositing from B at some earlier point.

Listing your cleared sources

GET /api/me/withdrawals/deposit-sources
X-Api-Key: ps_live_<keyId>_<secret>
Withdrawal endpoints accept API-key auth (X-Api-Key + X-User-Wallet). Multi-wallet partner keys with requirePerWalletKyc=false use the same flow — the FSM is identical regardless of which sub-account the key acts on.
Response:
{
  "walletAddress": "0xYourWallet",
  "sources": [
    {
      "address": "0x1111...",
      "firstDepositedAt": "2026-03-10T12:14:00Z",
      "lastDepositedAt": "2026-04-18T09:02:11Z",
      "totalDepositedUsd": "150000"
    }
  ]
}

MM & partner pattern

For market makers with a treasury wallet:
  1. Small deposit from the treasury first (e.g. 100 USDC) seeds the cleared-source record.
  2. Subsequent withdrawals to the same wallet go through the fast path.
  3. For operational spread (multiple hot wallets), repeat for each.

When you hit EDD review

  • Status: MLRO_REVIEW for up to 1 business day.
  • Reason: new destination $X >= threshold $5000.
  • Contact onboarding pre-large-withdrawals to pre-clear new destinations.