Submit travel rule data.
curl --request POST \
--url https://api.bridge.xyz/v0/travel_rule_data/{id} \
--header 'Api-Key: <api-key>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"originator": {
"name": "Jane Smith",
"address": {
"street_line_1": "123 Market St",
"street_line_2": null,
"city": "San Francisco",
"state": "CA",
"postal_code": "94105",
"country": "USA"
},
"identifying_information": {
"type": "national_id",
"number": "1234567890",
"issuing_country": "USA"
},
"birth_date": "2000-01-31",
"place_of_birth": {
"city": "San Francisco",
"country": "USA"
},
"wallet_type": "self_custodied",
"wallet_attested_ownership_at": "2026-04-01T12:00:00Z"
},
"beneficiary": {
"is_self": true,
"wallet_type": "external"
}
}
'import requests
url = "https://api.bridge.xyz/v0/travel_rule_data/{id}"
payload = {
"originator": {
"name": "Jane Smith",
"address": {
"street_line_1": "123 Market St",
"street_line_2": None,
"city": "San Francisco",
"state": "CA",
"postal_code": "94105",
"country": "USA"
},
"identifying_information": {
"type": "national_id",
"number": "1234567890",
"issuing_country": "USA"
},
"birth_date": "2000-01-31",
"place_of_birth": {
"city": "San Francisco",
"country": "USA"
},
"wallet_type": "self_custodied",
"wallet_attested_ownership_at": "2026-04-01T12:00:00Z"
},
"beneficiary": {
"is_self": True,
"wallet_type": "external"
}
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
'Api-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
originator: {
name: 'Jane Smith',
address: {
street_line_1: '123 Market St',
street_line_2: null,
city: 'San Francisco',
state: 'CA',
postal_code: '94105',
country: 'USA'
},
identifying_information: {type: 'national_id', number: '1234567890', issuing_country: 'USA'},
birth_date: '2000-01-31',
place_of_birth: {city: 'San Francisco', country: 'USA'},
wallet_type: 'self_custodied',
wallet_attested_ownership_at: '2026-04-01T12:00:00Z'
},
beneficiary: {is_self: true, wallet_type: 'external'}
})
};
fetch('https://api.bridge.xyz/v0/travel_rule_data/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bridge.xyz/v0/travel_rule_data/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'originator' => [
'name' => 'Jane Smith',
'address' => [
'street_line_1' => '123 Market St',
'street_line_2' => null,
'city' => 'San Francisco',
'state' => 'CA',
'postal_code' => '94105',
'country' => 'USA'
],
'identifying_information' => [
'type' => 'national_id',
'number' => '1234567890',
'issuing_country' => 'USA'
],
'birth_date' => '2000-01-31',
'place_of_birth' => [
'city' => 'San Francisco',
'country' => 'USA'
],
'wallet_type' => 'self_custodied',
'wallet_attested_ownership_at' => '2026-04-01T12:00:00Z'
],
'beneficiary' => [
'is_self' => true,
'wallet_type' => 'external'
]
]),
CURLOPT_HTTPHEADER => [
"Api-Key: <api-key>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bridge.xyz/v0/travel_rule_data/{id}"
payload := strings.NewReader("{\n \"originator\": {\n \"name\": \"Jane Smith\",\n \"address\": {\n \"street_line_1\": \"123 Market St\",\n \"street_line_2\": null,\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postal_code\": \"94105\",\n \"country\": \"USA\"\n },\n \"identifying_information\": {\n \"type\": \"national_id\",\n \"number\": \"1234567890\",\n \"issuing_country\": \"USA\"\n },\n \"birth_date\": \"2000-01-31\",\n \"place_of_birth\": {\n \"city\": \"San Francisco\",\n \"country\": \"USA\"\n },\n \"wallet_type\": \"self_custodied\",\n \"wallet_attested_ownership_at\": \"2026-04-01T12:00:00Z\"\n },\n \"beneficiary\": {\n \"is_self\": true,\n \"wallet_type\": \"external\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bridge.xyz/v0/travel_rule_data/{id}")
.header("Idempotency-Key", "<idempotency-key>")
.header("Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"originator\": {\n \"name\": \"Jane Smith\",\n \"address\": {\n \"street_line_1\": \"123 Market St\",\n \"street_line_2\": null,\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postal_code\": \"94105\",\n \"country\": \"USA\"\n },\n \"identifying_information\": {\n \"type\": \"national_id\",\n \"number\": \"1234567890\",\n \"issuing_country\": \"USA\"\n },\n \"birth_date\": \"2000-01-31\",\n \"place_of_birth\": {\n \"city\": \"San Francisco\",\n \"country\": \"USA\"\n },\n \"wallet_type\": \"self_custodied\",\n \"wallet_attested_ownership_at\": \"2026-04-01T12:00:00Z\"\n },\n \"beneficiary\": {\n \"is_self\": true,\n \"wallet_type\": \"external\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bridge.xyz/v0/travel_rule_data/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"originator\": {\n \"name\": \"Jane Smith\",\n \"address\": {\n \"street_line_1\": \"123 Market St\",\n \"street_line_2\": null,\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postal_code\": \"94105\",\n \"country\": \"USA\"\n },\n \"identifying_information\": {\n \"type\": \"national_id\",\n \"number\": \"1234567890\",\n \"issuing_country\": \"USA\"\n },\n \"birth_date\": \"2000-01-31\",\n \"place_of_birth\": {\n \"city\": \"San Francisco\",\n \"country\": \"USA\"\n },\n \"wallet_type\": \"self_custodied\",\n \"wallet_attested_ownership_at\": \"2026-04-01T12:00:00Z\"\n },\n \"beneficiary\": {\n \"is_self\": true,\n \"wallet_type\": \"external\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Travel rule data processed successfully"
}Travel Rule
Submit travel rule data.
Use this endpoint to submit originator, beneficiary, and transfer purpose data for travel rule compliance.
POST
/
travel_rule_data
/
{id}
Submit travel rule data.
curl --request POST \
--url https://api.bridge.xyz/v0/travel_rule_data/{id} \
--header 'Api-Key: <api-key>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"originator": {
"name": "Jane Smith",
"address": {
"street_line_1": "123 Market St",
"street_line_2": null,
"city": "San Francisco",
"state": "CA",
"postal_code": "94105",
"country": "USA"
},
"identifying_information": {
"type": "national_id",
"number": "1234567890",
"issuing_country": "USA"
},
"birth_date": "2000-01-31",
"place_of_birth": {
"city": "San Francisco",
"country": "USA"
},
"wallet_type": "self_custodied",
"wallet_attested_ownership_at": "2026-04-01T12:00:00Z"
},
"beneficiary": {
"is_self": true,
"wallet_type": "external"
}
}
'import requests
url = "https://api.bridge.xyz/v0/travel_rule_data/{id}"
payload = {
"originator": {
"name": "Jane Smith",
"address": {
"street_line_1": "123 Market St",
"street_line_2": None,
"city": "San Francisco",
"state": "CA",
"postal_code": "94105",
"country": "USA"
},
"identifying_information": {
"type": "national_id",
"number": "1234567890",
"issuing_country": "USA"
},
"birth_date": "2000-01-31",
"place_of_birth": {
"city": "San Francisco",
"country": "USA"
},
"wallet_type": "self_custodied",
"wallet_attested_ownership_at": "2026-04-01T12:00:00Z"
},
"beneficiary": {
"is_self": True,
"wallet_type": "external"
}
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
'Api-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
originator: {
name: 'Jane Smith',
address: {
street_line_1: '123 Market St',
street_line_2: null,
city: 'San Francisco',
state: 'CA',
postal_code: '94105',
country: 'USA'
},
identifying_information: {type: 'national_id', number: '1234567890', issuing_country: 'USA'},
birth_date: '2000-01-31',
place_of_birth: {city: 'San Francisco', country: 'USA'},
wallet_type: 'self_custodied',
wallet_attested_ownership_at: '2026-04-01T12:00:00Z'
},
beneficiary: {is_self: true, wallet_type: 'external'}
})
};
fetch('https://api.bridge.xyz/v0/travel_rule_data/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bridge.xyz/v0/travel_rule_data/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'originator' => [
'name' => 'Jane Smith',
'address' => [
'street_line_1' => '123 Market St',
'street_line_2' => null,
'city' => 'San Francisco',
'state' => 'CA',
'postal_code' => '94105',
'country' => 'USA'
],
'identifying_information' => [
'type' => 'national_id',
'number' => '1234567890',
'issuing_country' => 'USA'
],
'birth_date' => '2000-01-31',
'place_of_birth' => [
'city' => 'San Francisco',
'country' => 'USA'
],
'wallet_type' => 'self_custodied',
'wallet_attested_ownership_at' => '2026-04-01T12:00:00Z'
],
'beneficiary' => [
'is_self' => true,
'wallet_type' => 'external'
]
]),
CURLOPT_HTTPHEADER => [
"Api-Key: <api-key>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bridge.xyz/v0/travel_rule_data/{id}"
payload := strings.NewReader("{\n \"originator\": {\n \"name\": \"Jane Smith\",\n \"address\": {\n \"street_line_1\": \"123 Market St\",\n \"street_line_2\": null,\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postal_code\": \"94105\",\n \"country\": \"USA\"\n },\n \"identifying_information\": {\n \"type\": \"national_id\",\n \"number\": \"1234567890\",\n \"issuing_country\": \"USA\"\n },\n \"birth_date\": \"2000-01-31\",\n \"place_of_birth\": {\n \"city\": \"San Francisco\",\n \"country\": \"USA\"\n },\n \"wallet_type\": \"self_custodied\",\n \"wallet_attested_ownership_at\": \"2026-04-01T12:00:00Z\"\n },\n \"beneficiary\": {\n \"is_self\": true,\n \"wallet_type\": \"external\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bridge.xyz/v0/travel_rule_data/{id}")
.header("Idempotency-Key", "<idempotency-key>")
.header("Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"originator\": {\n \"name\": \"Jane Smith\",\n \"address\": {\n \"street_line_1\": \"123 Market St\",\n \"street_line_2\": null,\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postal_code\": \"94105\",\n \"country\": \"USA\"\n },\n \"identifying_information\": {\n \"type\": \"national_id\",\n \"number\": \"1234567890\",\n \"issuing_country\": \"USA\"\n },\n \"birth_date\": \"2000-01-31\",\n \"place_of_birth\": {\n \"city\": \"San Francisco\",\n \"country\": \"USA\"\n },\n \"wallet_type\": \"self_custodied\",\n \"wallet_attested_ownership_at\": \"2026-04-01T12:00:00Z\"\n },\n \"beneficiary\": {\n \"is_self\": true,\n \"wallet_type\": \"external\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bridge.xyz/v0/travel_rule_data/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"originator\": {\n \"name\": \"Jane Smith\",\n \"address\": {\n \"street_line_1\": \"123 Market St\",\n \"street_line_2\": null,\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postal_code\": \"94105\",\n \"country\": \"USA\"\n },\n \"identifying_information\": {\n \"type\": \"national_id\",\n \"number\": \"1234567890\",\n \"issuing_country\": \"USA\"\n },\n \"birth_date\": \"2000-01-31\",\n \"place_of_birth\": {\n \"city\": \"San Francisco\",\n \"country\": \"USA\"\n },\n \"wallet_type\": \"self_custodied\",\n \"wallet_attested_ownership_at\": \"2026-04-01T12:00:00Z\"\n },\n \"beneficiary\": {\n \"is_self\": true,\n \"wallet_type\": \"external\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Travel rule data processed successfully"
}Authorizations
Headers
Path Parameters
The ID of the resource to associate with this Travel Rule payload. Supported IDs include transfer IDs, virtual account IDs, virtual account event IDs, liquidation address IDs, bridge wallet event IDs, and drain IDs.
Body
application/json
The Travel Rule payload to associate with the specified resource.
Travel Rule data for a crypto movement. Send this on create or update when the same counterparty should apply to every future use of a reusable resource, or send the same payload with POST /travel_rule_data/{id} when it belongs to one specific movement.
Response
Travel Rule data processed successfully
Message indicating the status of the request.
Was this page helpful?
⌘I
