Travel Rule
Compliant transfers with travel rule data.
Overview
Transfers above regulatory thresholds require travel rule data: identifying information about the originator and beneficiary. The compliance platform enforces this via the on-chain TravelRuleRegistry contract and the compliance middleware API.
| Jurisdiction | Threshold | Rule |
|---|---|---|
| USA | $3,000 USD | Transfers below $3,000 do not require travel rule data |
| EU | €0 | All transfers require travel rule data regardless of amount |
The applicable threshold is determined by the originator’s jurisdiction. When in doubt, include travel rule data — it never hurts to provide it.
Initiate a Compliant Transfer
curl -X POST https://api.overvoid.io/v1/compliance/transfer/initiate \-H "Authorization: Bearer cusd_test_YOUR_KEY" \-H "Content-Type: application/json" \-d '{"chain_id": 11155111,"from_address": "0xSENDER...","to_address": "0xRECIPIENT...","amount_wei": "5000000000000000000000","originator": {"entity_id": "ent_01HXYZ...","legal_name": "Acme Corp","account_number": "ACME-001"},"beneficiary": {"entity_id": "ent_01HABC...","legal_name": "GlobEx Corp","account_number": "GLOB-001"}}'
{"transfer_id": "tr_01HXYZ...","status": "pending_compliance","travel_rule_required": true,"travel_rule_hash": "0xabc123...","created_at": "2026-03-06T12:00:00Z"}
How It Works
- API validates both parties — Both originator and beneficiary must have active compliance status. The API checks KYB, AML, and sanctions for both.
- Travel rule data is hashed — The originator and beneficiary information is hashed and stored. The hash is written to the on-chain TravelRule contract.
- Transfer is authorized — Once compliance checks pass and the travel rule hash is recorded, the transfer can proceed on-chain.
- On-chain enforcement — Token contracts integrating the ComplianceOracle call the TravelRuleRegistry during transfer. If no valid travel rule record exists for transfers above the threshold, the transaction reverts.
Poll Transfer Status
curl https://api.overvoid.io/v1/compliance/transfer/tr_01HXYZ \-H "Authorization: Bearer cusd_test_YOUR_KEY"
| Status | Description |
|---|---|
pending_compliance | Compliance checks running |
approved | Travel rule recorded, transfer can proceed |
rejected | Compliance check failed (sanctions, frozen, etc.) |
Below-Threshold Transfers
USA: For transfers under $3,000, you can transfer directly on-chain without calling the compliance transfer API. The token contract still verifies both sender and receiver have valid compliance status in the oracle, but travel rule data is not required.
EU (MiCA): There is no below-threshold exemption. All transfers require travel rule data. Always call the compliance transfer API for EU-originated transfers.
Webhook Events
transfer.detected— On-chain transfer indexedtransfer.confirmed— Transfer finalized with sufficient confirmations