Travel Rule

Submit Travel Rule information

Changed on

Submits Travel Rule information about the owner of a crypto address, either for a deposit (send deposit_id) or for a withdrawal address (send address). Requires an API key with travel_rule write permission. The caller must operate for participant_code. Requests are rate limited to 60 per minute per participant across all /travel-rule endpoints. A successful submission returns 200 with an empty body.

post/travel-rule/submit

Request

  • Base URL
    https://api.cert.zerohash.com
  • URL
    https://api.cert.zerohash.com/travel-rule/submit
  • Auth
    API key in header X-SCX-API-KEY and API key in header X-SCX-PASSPHRASE

Headers

X-SCX-SIGNEDstring required

HMAC-SHA256 signature of the request, base64-encoded. See the Authentication guide for the exact signing formula.

X-SCX-TIMESTAMPstring required
Example:1678901234

Current Unix timestamp in seconds. Must be within 60 seconds of server time or the request is rejected.

Request body

participant_codestring required

The participant the Travel Rule information is submitted for. 6 uppercase alphanumeric characters.

addressstring

The on-chain address the information applies to. Required in withdrawal mode and not allowed in deposit mode.

deposit_idstring uuid

The crypto deposit the information applies to. Sending it selects deposit mode. The deposit must belong to participant_code.

address_belongs_to'zh_participant' | 'third_party' required

Whether the address belongs to the participant (zh_participant) or to someone else (third_party).

address_owner_type'individual' | 'business' required

Whether the address owner is a person or a business.

wallet_type'self_custody' | 'hosted' required

Whether the wallet is self-custodied or hosted by a VASP.

casp_didstring

The id of the VASP hosting the wallet, from GET /travel-rule/vasps. Required when wallet_type is hosted, and not allowed when it is self_custody.

Example request

{
  "participant_code": "ABCDEF",
  "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
  "deposit_id": "ce819fe8-b1d7-43bb-961c-e09ede0988d3",
  "address_belongs_to": "third_party",
  "address_owner_type": "individual",
  "wallet_type": "hosted",
  "casp_did": "did:ethr:0x9a4b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b",
  "individual_pii": {
    "full_name": "John Doe",
    "address": "123 Main Street, Chicago",
    "date_of_birth": "1990-01-15",
    "place_of_birth": "Chicago",
    "identification_number": "X1234567"
  },
  "business_pii": {
    "legal_entity_name": "Example Holdings LLC",
    "legal_entity_identifier": "5493001KJTIIGC8Y1R12",
    "legal_entity_address": "123 Main Street, Chicago"
  },
  "wallet_proof_of_ownership": {
    "document": "JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFI+PgpzdHJlYW0K",
    "mime": "application/pdf"
  }
}

Response

Travel Rule information accepted. The response body is empty.

Changes