Banking 101 — Initiate · Lesson 3 of 5

The FATF Travel Rule — what data moves with your money

5 min · read

When you send crypto to a regulated entity (CEX, banking partner, custodian), the Travel Rule says originator and beneficiary information must travel with the transaction. The wallet's privacy-301 course covered this from the privacy-tool angle; this lesson covers it from the off-ramp angle.

What the Travel Rule requires

For a transfer above the threshold (€1000 EU, $3000 US), the sending VASP must include:

Originator: - Full name - Wallet address (the source) - Government ID OR address + DOB

Beneficiary: - Full name - Wallet address (the destination)

Transaction: - Amount - Asset - Timestamp

The data is sent as an IVMS 101 message (the inter-VASP standard).

How this affects you as an off-ramper

You're sending crypto from your self-hosted wallet (Gopnik) to a CEX deposit address. The CEX is the receiving VASP. Two scenarios:

Scenario A: Above-threshold (>€1000) to a CEX you've KYC'd at.

The CEX already knows who you are (from your KYC). They auto-fill the Travel Rule message with your registered name. You just send. The wallet's Travel Rule attestation system attaches the originator data automatically (if you've completed wallet KYC); if you haven't, you'll see a one-time onboarding form.

Scenario B: Above-threshold to a CEX you haven't yet KYC'd at.

The CEX will reject your deposit until you complete KYC. Some CEXes auto-freeze the deposit and let you complete KYC retroactively to claim it; others bounce it back (minus a fee).

The wallet's wallet > Send dashboard checks whether your destination is a known VASP-controlled address before broadcast. If it is, you get a "This is a VASP deposit address" notice + the Travel Rule attestation form inline.

IVMS 101 in practice

IVMS 101 is a structured JSON schema. A simplified version:

{
  "version": "1.1.1",
  "originator": {
    "naturalPerson": {
      "naturalPersonName": {"primaryIdentifier": "John Doe"},
      "geographicAddress": [{"country": "DE"}]
    },
    "originatorAccount": {"type": "self-hosted", "chain": "ethereum"}
  },
  "beneficiary": {
    "naturalPerson": {"naturalPersonName": {"primaryIdentifier": "Jane Smith"}},
    "beneficiaryAccount": {"type": "vasp-hosted", "address": "0x...", "chain": "ethereum"}
  },
  "transaction": {
    "asset": "ETH",
    "amount_eur_cents": 500000,
    "timestamp": "2026-05-20T14:30:00Z"
  }
}

The wallet's gopnik/compliance/travel_rule.py (from iter-H) builds these. The signed bundle is persisted; a regulator can verify any send years later.

Self-hosted to self-hosted

If you send from Gopnik (self-hosted) to another self-hosted wallet (your friend's, your other wallet), the Travel Rule's strict requirements are softer in most jurisdictions:

  • EU TFR: applies above €1000 even to self-hosted; the wallet records source-of-funds attestation but doesn't transmit it externally.
  • US: 31 USC 5331 reporting threshold is $10000; below that minimal records.
  • UK: similar to EU but specific UK Money Laundering Regulations apply.

For privacy primitive sends (iter-H stealth/Aztec/Penumbra), the wallet enforces strict-mode Travel Rule attestation regardless of jurisdiction — see the privacy review doc.

When the receiving VASP doesn't accept Travel Rule from your wallet

Some CEXes don't have IVMS 101 ingestion integrated. Their workflow:

  1. You deposit; they auto-credit your CEX account.
  2. They KYC re-checks at withdrawal time: "where did the deposit come from?"
  3. You provide source-of-funds documentation (purchase records, salary, sale documents).
  4. They approve the withdrawal.

This works but adds 24-48h to your off-ramp.

What the wallet does about it

The wallet's Off-Ramp section shows per-CEX:

  • Whether they integrate IVMS 101 (most large EU CEXes do; most US ones don't yet)
  • Threshold above which they require source-of-funds documentation
  • Average withdrawal hold time

You pick the CEX that fits your needs.

The "above €1000" cliff

If you're regularly transferring €1000+ from your wallet to a CEX, expect:

  • IVMS 101 ingestion from the CEX side (if supported)
  • Detailed source-of-funds questions on the first few transactions to a new IBAN
  • Faster processing once they have your established pattern

Below €1000, the friction is much lower. This is why splitting a €5000 off-ramp into 5x €1000 isn't a good idea — looks like structuring (specifically illegal under most AML laws). Don't do it. The wallet's UI explicitly refuses to suggest splits that look structured.

Next: KYC at crypto banks — what they ask and why.