{"templateId":"openapi_docs","sharedDataIds":{"openAPIDocsStore":"oas-openapi.yaml","sidebar":"sidebar-sidebars.yaml"},"props":{"definitionId":"openapi.yaml","dynamicMarkdocComponents":[],"baseSlug":"/openapi","seo":{"title":"Travel Rule Protocol (TRP) API","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"itemId":"","disableAutoScroll":true,"metadata":{"type":"openapi","title":"Travel Rule Protocol (TRP) API","description":"# Working with the documentation\n\nThis section describes the public endpoints of the **Travel Rule\nProtocol (TRP) Registry API**. These endpoints allow third-party\nsystems and Virtual Asset Service Providers (VASPs) to discover,\nidentify and register participants in the TRP network.\n\nThe API follows REST conventions and returns responses in JSON\nformat. All requests should be made over **HTTPS**.\n\n## Introduction: How the TRP Public API Works\n\nThe TRP API enables VASPs to:\n\n- Authenticate using **API keys**\n- Generate unique **Travel Addresses** for beneficiaries\n- Initiate **Travel Rule transfers**\n- Exchange originator and beneficiary data securely\n- Receive **callback** notifications from TRP during the verification process\n\nTRP follows global compliance standards (**FATF**, **IVMS101**) and\nensures secure, encrypted communication between VASPs.\n\nEvery integration follows one simple flow:\n\n1. **Request JWT token** → authenticate your VASP\n2. **Generate Travel Address** → unique identifier for the beneficiary VASP\n3. **Initiate Transfer** → send IVMS101-compliant data\n4. **Receive callback** → TRP sends status updates to your backend\n\n## Authentication Overview\n\nBefore calling any protected endpoint, your system must generate a\n**JWT access token** using your API Key. This ensures:\n\n- Secure API access\n- Verified VASP identity\n- Ability to track API usage\n- Authorization for initiating Travel Rule transfers\n\nThe access token is short-lived (**TTL ≈ 1 hour**) for security\nreasons. Pass it as `Authorization: Bearer <jwt>` on every protected\nendpoint.\n\n## Conventions\n\n- All bodies are `application/json` unless explicitly stated.\n- Successful responses are wrapped in `{ \"status\": true, \"data\": ... }`.\n- Errors are wrapped in `{ \"status\": false, \"errors\": [{ \"code\", \"message\" }] }`.\n- Timestamps use ISO-8601 in UTC.\n- Country codes follow ISO-3166-1 alpha-2.\n","summary":"Public TRP API for VASP-to-VASP Travel Rule data exchange."},"compilationErrors":[],"markdown":{"partials":{},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"headers":{"accept":"*/*","accept-encoding":"br,gzip","host":"docs.travel-rule.com","user-agent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","via":"2.0 Caddy, 2.0 4c6791f6512d8ae3b564d0ef4751f078.cloudfront.net (CloudFront), 1.1 Caddy","x-amz-cf-id":"Fa7cXPOgM2ei2_3wCWhVItbVv6BG0ms2ZO2DqaezyOjU_rnoshYNqw==","x-forwarded-for":"216.73.216.228, 3.211.34.228, 64.252.68.74","x-forwarded-host":"docs.travel-rule.com","x-forwarded-proto":"https","x-request-id":"cds-1bb28bc7-ebef-44d8-bf8d-221a7a8e92ba"},"remoteAddr":{"hostname":"::ffff:10.0.3.8","port":39364},"lang":"default_locale","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"main"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/openapi","userData":{"isAuthenticated":false,"teams":["anonymous"]}}