Python
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.travel_rule.unmatched_deposits.list():
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
for await (const item of didit.travelRule.unmatchedDeposits.list()) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.TravelRule.UnmatchedDeposits.ListAutoPaging(ctx, didit.TravelRuleUnmatchedDepositsListParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
for (var item : client.travelRule().unmatchedDeposits().list()) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
foreach ($didit->travelRule->unmatchedDeposits->list() as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.travel_rule.unmatched_deposits.list.auto_paging_each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
await foreach (var item in await client.TravelRule.UnmatchedDeposits.ListAsync())
{
Console.WriteLine(JsonSerializer.Serialize(item));
}curl --request GET \
--url https://verification.didit.me/v3/travel-rule/unmatched/ \
--header 'x-api-key: <api-key>'{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "7d3a1c55-0b9e-4d52-8a3c-1f6e2b9d4a08",
"transaction_id": "c41f9b2e-5a8d-4e0c-9f17-3b6d8a2e5c91",
"txn_id": "dep-2026-10-20-0007",
"txn_date": "2026-10-19T08:41:12Z",
"kind": "deposit",
"direction": "INBOUND",
"status": "AWAITING_COUNTERPARTY",
"rail": "TRP",
"asset": "ETH",
"amount": "1.25",
"originator_vasp": "",
"beneficiary_vasp": "Example Counterparty VASP",
"originator_wallet": "0x77ccff0cc624a53cd8b8d8703ced826710211ec7",
"beneficiary_wallet": "0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb",
"originator_memo": "",
"beneficiary_memo": "",
"originator_wallet_type": "vasp",
"beneficiary_wallet_type": "vasp",
"matched_transaction_id": null,
"deadline_at": null,
"created_at": "2026-10-19T08:41:13Z"
}
]
}Travel Rule
查询未匹配的 Travel Rule 入账 API
通过 Didit 列出仍在等待来源 VASP 发送 Travel Rule 数据的入账记录,便于将每笔入账与对方发来的消息配对。
GET
/
v3
/
travel-rule
/
unmatched
/
Python
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.travel_rule.unmatched_deposits.list():
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
for await (const item of didit.travelRule.unmatchedDeposits.list()) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.TravelRule.UnmatchedDeposits.ListAutoPaging(ctx, didit.TravelRuleUnmatchedDepositsListParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
for (var item : client.travelRule().unmatchedDeposits().list()) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
foreach ($didit->travelRule->unmatchedDeposits->list() as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.travel_rule.unmatched_deposits.list.auto_paging_each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
await foreach (var item in await client.TravelRule.UnmatchedDeposits.ListAsync())
{
Console.WriteLine(JsonSerializer.Serialize(item));
}curl --request GET \
--url https://verification.didit.me/v3/travel-rule/unmatched/ \
--header 'x-api-key: <api-key>'{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "7d3a1c55-0b9e-4d52-8a3c-1f6e2b9d4a08",
"transaction_id": "c41f9b2e-5a8d-4e0c-9f17-3b6d8a2e5c91",
"txn_id": "dep-2026-10-20-0007",
"txn_date": "2026-10-19T08:41:12Z",
"kind": "deposit",
"direction": "INBOUND",
"status": "AWAITING_COUNTERPARTY",
"rail": "TRP",
"asset": "ETH",
"amount": "1.25",
"originator_vasp": "",
"beneficiary_vasp": "Example Counterparty VASP",
"originator_wallet": "0x77ccff0cc624a53cd8b8d8703ced826710211ec7",
"beneficiary_wallet": "0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb",
"originator_memo": "",
"beneficiary_memo": "",
"originator_wallet_type": "vasp",
"beneficiary_wallet_type": "vasp",
"matched_transaction_id": null,
"deadline_at": null,
"created_at": "2026-10-19T08:41:13Z"
}
]
}何时使用
入金可能会先到达你的钱包,而来源 VASP 的 Travel Rule 数据尚未到达 Didit。在数据到达之前,这笔入金会一直等待。 列出等待中的入金,找出需要处理的那些。 当数据作为单独的接收消息到达时,请使用匹配未匹配的入金将两者配对。请求
curl "https://verification.didit.me/v3/travel-rule/unmatched/" \
-H "x-api-key: YOUR_API_KEY"
注意事项
- 行和过滤器与列出 Travel Rule 转账中的相同,按最新在前排序。
- 当收到的消息与入金配对、你手动匹配该入金,或入金状态发生变化时,该入金会从列表中移除。
- 对于没有 Travel Rule 转账的应用,列表为空。
相关内容
授权
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
查询参数
INBOUND、OUTBOUND 或两者以逗号分隔。区分大小写。
一个或多个转账状态,以逗号分隔。
INTERNAL、TRP、GTR、TRUST、VERIFYVASP、SYGNA、EMAIL、TEST_VASP 中的一个或多个,以逗号分隔。
withdrawal、deposit 或 message,以逗号分隔。
交易的币种,不区分大小写。
在此日期(UTC)或之后创建的转账,格式为 YYYY-MM-DD。
在此日期(UTC)或之前创建的转账,格式为 YYYY-MM-DD。
来自 GET /v3/travel-rule/vasps/ 的名录条目或 Didit 网络成员的 id:用于获取您与该交易对手之间的转账。无效的 id 值将返回 400。
页面大小,默认为 50。
必填范围:
1 <= x <= 1000000要跳过的行。
必填范围:
0 <= x <= 1000000最后修改于 2026年11月7日