Skip to main content
POST
/
v3
/
travel-rule
/
inbound
/
curl
curl -X POST https://verification.didit.me/v3/travel-rule/inbound/ \
  -H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
  -d '{"chain":"ethereum","txid":"0xdeposit-hash","wallet_address":"0xYourDepositWallet","amount":"500.00","currency":"USDC"}'
import requests

url = "https://verification.didit.me/v3/travel-rule/inbound/"

payload = {
"chain": "ethereum",
"txid": "0xdeposit-hash",
"wallet_address": "0xYourDepositWallet",
"amount": "500.00",
"currency": "USDC",
"originator_data": { "name": "Origin CASP SL" },
"beneficiary_data": { "name": "Ana Diaz" },
"originating_vasp": {
"name": "Origin CASP SL",
"lei": "",
"travel_address": "ta..."
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chain: 'ethereum',
txid: '0xdeposit-hash',
wallet_address: '0xYourDepositWallet',
amount: '500.00',
currency: 'USDC',
originator_data: {name: 'Origin CASP SL'},
beneficiary_data: {name: 'Ana Diaz'},
originating_vasp: {name: 'Origin CASP SL', lei: '', travel_address: 'ta...'}
})
};

fetch('https://verification.didit.me/v3/travel-rule/inbound/', 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://verification.didit.me/v3/travel-rule/inbound/",
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([
'chain' => 'ethereum',
'txid' => '0xdeposit-hash',
'wallet_address' => '0xYourDepositWallet',
'amount' => '500.00',
'currency' => 'USDC',
'originator_data' => [
'name' => 'Origin CASP SL'
],
'beneficiary_data' => [
'name' => 'Ana Diaz'
],
'originating_vasp' => [
'name' => 'Origin CASP SL',
'lei' => '',
'travel_address' => 'ta...'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-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://verification.didit.me/v3/travel-rule/inbound/"

payload := strings.NewReader("{\n \"chain\": \"ethereum\",\n \"txid\": \"0xdeposit-hash\",\n \"wallet_address\": \"0xYourDepositWallet\",\n \"amount\": \"500.00\",\n \"currency\": \"USDC\",\n \"originator_data\": {\n \"name\": \"Origin CASP SL\"\n },\n \"beneficiary_data\": {\n \"name\": \"Ana Diaz\"\n },\n \"originating_vasp\": {\n \"name\": \"Origin CASP SL\",\n \"lei\": \"\",\n \"travel_address\": \"ta...\"\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-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://verification.didit.me/v3/travel-rule/inbound/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"chain\": \"ethereum\",\n \"txid\": \"0xdeposit-hash\",\n \"wallet_address\": \"0xYourDepositWallet\",\n \"amount\": \"500.00\",\n \"currency\": \"USDC\",\n \"originator_data\": {\n \"name\": \"Origin CASP SL\"\n },\n \"beneficiary_data\": {\n \"name\": \"Ana Diaz\"\n },\n \"originating_vasp\": {\n \"name\": \"Origin CASP SL\",\n \"lei\": \"\",\n \"travel_address\": \"ta...\"\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://verification.didit.me/v3/travel-rule/inbound/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chain\": \"ethereum\",\n \"txid\": \"0xdeposit-hash\",\n \"wallet_address\": \"0xYourDepositWallet\",\n \"amount\": \"500.00\",\n \"currency\": \"USDC\",\n \"originator_data\": {\n \"name\": \"Origin CASP SL\"\n },\n \"beneficiary_data\": {\n \"name\": \"Ana Diaz\"\n },\n \"originating_vasp\": {\n \"name\": \"Origin CASP SL\",\n \"lei\": \"\",\n \"travel_address\": \"ta...\"\n }\n}"

response = http.request(request)
puts response.read_body
{
  "transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "txn_id": "<string>",
  "created": true,
  "travel_rule": {
    "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "protocol": "<string>",
    "ivms_version": "ivms101.2023",
    "required": true,
    "ownership_confirmed": true,
    "deadline_at": "2023-11-07T05:31:56Z",
    "timeline": [
      {
        "status": "<string>",
        "at": "2023-11-07T05:31:56Z",
        "detail": "<string>"
      }
    ],
    "counterparty_vasp": {
      "name": "<string>",
      "lei": "<string>",
      "dd_score": 123
    },
    "originator_data": {},
    "beneficiary_data": {},
    "created_at": "2023-11-07T05:31:56Z"
  }
}
{
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"txn_id": "<string>",
"created": true,
"travel_rule": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"protocol": "<string>",
"ivms_version": "ivms101.2023",
"required": true,
"ownership_confirmed": true,
"deadline_at": "2023-11-07T05:31:56Z",
"timeline": [
{
"status": "<string>",
"at": "2023-11-07T05:31:56Z",
"detail": "<string>"
}
],
"counterparty_vasp": {
"name": "<string>",
"lei": "<string>",
"dd_score": 123
},
"originator_data": {},
"beneficiary_data": {},
"created_at": "2023-11-07T05:31:56Z"
}
}

Authorizations

x-api-key
string
header
required

Body

application/json
chain
string
required

Chain the deposit settled on, e.g. "ethereum".

txid
string
required

On-chain transaction hash. Deduped together with wallet_address.

wallet_address
string
required

The destination wallet you received the deposit on.

amount
string
required

Deposit amount as a decimal string.

currency
string
required

Deposit asset, e.g. "USDC".

originator_data
object

IVMS-101 originator payload from the sending VASP, if known.

beneficiary_data
object

IVMS-101 beneficiary payload (your customer).

originating_vasp
object

Optional description of the sending VASP.

Response

An existing unclaimed deposit was reused (created is false).

transaction_id
string<uuid>

Didit transaction UUID for the inbound deposit.

txn_id
string

Didit-generated txn_id for the sunrise transaction.

created
boolean

true when a new transaction was minted (HTTP 201); false when an existing unclaimed deposit was reused (HTTP 200).

travel_rule
object

Full transfer object returned by the ownership-confirmation and finish/cancel endpoints. originator_data/beneficiary_data are omitted while PII is masked (see description).