STABLEVASP · TRAVEL RULE COMPLIANCE
Why This Matters
When a developer uses Circle's bridge-stablecoin skill to move USDC cross-chain via CCTP,
the Travel Rule Gate fires at S5 Transport. The VASP-to-VASP PII transmission is a policy-enforced
Obligation at S8 Finality. The code below shows where each checkpoint fires.
// S5 Transport — CCTP bridge call (code-enforced Gate)
const tx = await cctpBridge.depositForBurn(
amount, destinationDomain, mintRecipient, burnToken
);
// S6 Authorization — OFAC screening gate (code-enforced)
const screenResult = await chainalysis.checkAddress(mintRecipient);
if (screenResult.sanctioned) throw new ComplianceError('OFAC_HIT', 'S6');
// S7 Settlement — on-chain finality monitor
const receipt = await provider.waitForTransaction(tx.hash, 1);
assert(receipt.status === 1, 'Settlement failed at S7');
// S8 Finality — Travel Rule obligation (policy-enforced)
await travelRuleProvider.transmitPII({
originator: { name, account, institution },
beneficiary: { name, account, institution },
txHash: tx.hash,
amount, asset: 'USDC',
}); Compliance Depth
Each chain encodes FATF compliance at different architectural layers. Hover any mechanism to see enforcement details.
Three Reports, Three Compliance Layers
Skills Pairing
bridge-stablecoin + Atlas Compliance MappingCCTP bridging lives at S5 Transport (T5 teal). The Travel Rule Gate fires at S5. The VASP-to-VASP PII transmission is a policy-enforced Obligation at S8 Finality (T7 crimson).
Install Circle Skills. Write your CCTP bridge. Then check StableVASP.com to see what compliance checkpoints your bridge traverses.