curl -X POST https://verification.didit.me/v3/travel-rule/wallet-addresses/ \
-H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"address": "0xBeneficiaryWallet01", "chain": "ETH", "holder_name": "Ana Diaz", "self_declared": true}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.travel_rule.wallet_addresses.create(
address="0xBeneficiaryWallet01",
chain="ETH",
holder_vendor_data="user-042",
holder_name="Ana Diaz",
self_declared=True,
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.travelRule.walletAddresses.create({
address: "0xBeneficiaryWallet01",
chain: "ETH",
holder_vendor_data: "user-042",
holder_name: "Ana Diaz",
self_declared: true,
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.TravelRule.WalletAddresses.Create(ctx, didit.WalletAddressEntryCreate{
Address: "0xBeneficiaryWallet01",
Chain: didit.String("ETH"),
HolderVendorData: didit.String("user-042"),
HolderName: didit.String("Ana Diaz"),
SelfDeclared: didit.Bool(true),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.WalletAddressEntryCreate;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.travelRule().walletAddresses().create(WalletAddressEntryCreate.builder()
.address("0xBeneficiaryWallet01")
.chain("ETH")
.holderVendorData("user-042")
.holderName("Ana Diaz")
.selfDeclared(true)
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->travelRule->walletAddresses->create([
'address' => '0xBeneficiaryWallet01',
'chain' => 'ETH',
'holder_vendor_data' => 'user-042',
'holder_name' => 'Ana Diaz',
'self_declared' => true,
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.travel_rule.wallet_addresses.create(
address: "0xBeneficiaryWallet01",
chain: "ETH",
holder_vendor_data: "user-042",
holder_name: "Ana Diaz",
self_declared: true
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.TravelRule.WalletAddresses.CreateAsync(new WalletAddressEntryCreate
{
Address = "0xBeneficiaryWallet01",
Chain = "ETH",
HolderVendorData = "user-042",
HolderName = "Ana Diaz",
SelfDeclared = true,
});
Console.WriteLine(JsonSerializer.Serialize(result));Travel Rule 地址簿:注册钱包地址 API
将您控制的钱包添加到 Travel Rule 地址簿,使入站 INTERNAL 通道转账可解析到该钱包,并可选择通过自我声明预先验证。Didit 提供支持。
curl -X POST https://verification.didit.me/v3/travel-rule/wallet-addresses/ \
-H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"address": "0xBeneficiaryWallet01", "chain": "ETH", "holder_name": "Ana Diaz", "self_declared": true}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.travel_rule.wallet_addresses.create(
address="0xBeneficiaryWallet01",
chain="ETH",
holder_vendor_data="user-042",
holder_name="Ana Diaz",
self_declared=True,
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.travelRule.walletAddresses.create({
address: "0xBeneficiaryWallet01",
chain: "ETH",
holder_vendor_data: "user-042",
holder_name: "Ana Diaz",
self_declared: true,
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.TravelRule.WalletAddresses.Create(ctx, didit.WalletAddressEntryCreate{
Address: "0xBeneficiaryWallet01",
Chain: didit.String("ETH"),
HolderVendorData: didit.String("user-042"),
HolderName: didit.String("Ana Diaz"),
SelfDeclared: didit.Bool(true),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.WalletAddressEntryCreate;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.travelRule().walletAddresses().create(WalletAddressEntryCreate.builder()
.address("0xBeneficiaryWallet01")
.chain("ETH")
.holderVendorData("user-042")
.holderName("Ana Diaz")
.selfDeclared(true)
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->travelRule->walletAddresses->create([
'address' => '0xBeneficiaryWallet01',
'chain' => 'ETH',
'holder_vendor_data' => 'user-042',
'holder_name' => 'Ana Diaz',
'self_declared' => true,
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.travel_rule.wallet_addresses.create(
address: "0xBeneficiaryWallet01",
chain: "ETH",
holder_vendor_data: "user-042",
holder_name: "Ana Diaz",
self_declared: true
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.TravelRule.WalletAddresses.CreateAsync(new WalletAddressEntryCreate
{
Address = "0xBeneficiaryWallet01",
Chain = "ETH",
HolderVendorData = "user-042",
HolderName = "Ana Diaz",
SelfDeclared = true,
});
Console.WriteLine(JsonSerializer.Serialize(result));授权
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
请求体
钱包地址。XRP X-address 会以其经典地址和标签的形式存储,因此可以匹配指定了任一形式的转账。
128地址的链 token,例如 ETH 或 BTC。当 Didit 路由或登记转账时,会在地址上匹配地址簿条目;当转账附带链信息时,也会在此值上进行不区分大小写的匹配。转账的链为 beneficiary_data.chain,如果您未传入该值,则会根据交易的加密货币链或货币符号(例如 ETH)填充,或采用存款后登记的 chain,因此请在所有位置使用相同的 token。链为空的条目可匹配任意链。无论您传入何种拼写,已知链均按单一规范标识符存储:“ethereum”、“Ethereum”和“ERC20”均存储为 ETH,“BNB Smart Chain”和“BEP20”存储为 BNB,“tron”存储为 TRX。未知的链名称将按原样保留。
3225525516仅可写入。当为 true 时,创建的条目已通过 SELF_DECLARATION 证明完成股权结构核验。在您的 Travel Rule 设置中 allow_self_declaration 未开启时返回 400。
可选。交易对手 VASP 针对此钱包的 Travel Address,用于为 TRP 支持的资产(指定网络上的 BTC、ETH 和 USDC)启用 TRP 路由。无效的 Travel Address 将返回 400。
512可选。作为钱包一部分的目标标签(destination tag)或 memo。XRP:目标标签,0 到 4294967295 之间的整数(支持 JSON 数字格式)。XLM:最多 28 字节的文本 memo、64 位 id 或 32 字节的十六进制哈希。EOS:最多 256 字节。ATOM:最多 256 个字符。HBAR:最多 100 字节。Bitcoin、EVM、Solana、Tron、Litecoin、Bitcoin Cash、Dogecoin 和 Lightning 钱包不接受 memo:传入 memo 将返回 400。别名:destinationTag 或 destination_tag。
256响应
已创建的条目。
钱包地址;仅通过哈希导入的条目为 ""。在每个应用、链和 memo 维度内唯一,比对地址时不区分大小写。删除条目后,您可以再次注册相同的地址。
地址的区块链网络 token,例如 ETH 或 BTC。当 Didit 路由或登记转账时,它会按钱包地址进行地址簿条目匹配;如果转账包含区块链网络,还会对此值进行不区分大小写的匹配。转账的区块链网络为 beneficiary_data.chain,如果您未发送,则从交易的加密区块链网络或货币符号(例如 ETH)中填充,或是存款后登记的 chain,因此请在所有地方使用相同的 token。区块链网络为空的条目可匹配任意网络。在比特币上登记的 Lightning 收款人(节点 ID 或 Lightning Address)以小写形式存储在 LIGHTNING 下,并在该处匹配 Lightning 转账。无论您发送何种拼写,已知区块链网络均存储在同一个标准标识符下:"ethereum"、"Ethereum" 和 "ERC20" 均存储为 ETH,"BNB Smart Chain" 和 "BEP20" 存储为 BNB,"tron" 存储为 TRX。未知区块链网络名称将按原样保留。
您为持有者指定的内部标识符。
钱包持有者姓名,用于收款人姓名比对。
自由格式文本,默认为 "individual"。
只读。此地址的所有权是否已得到证明。
此钱包对应的交易对手 VASP 的 Travel Address(如果已知)。允许 Didit 针对 TRP 支持的资产(指定网络上的 BTC、ETH 和 USDC),通过 TRP 渠道路由此收款人的转账。
只读。小写地址的 SHA-256,为小写十六进制格式。仅通过哈希导入的条目将基于此进行匹配。
在 memo 网络(XRP、XLM、EOS、ATOM、HBAR)上作为钱包一部分的目标标签或 memo;整个地址为 ""。带有 memo 的条目仅匹配指定该 memo 的转账;不带 memo 的条目匹配整个地址。
此钱包专属的 Travel Address:将其提供给发送方 VASP,以便其 TRP 查询能够指定此钱包。如果钱包被记录为另一个 VASP 的钱包、Travel Rule 未启用或在您的 VASP 资料保存之前,此字段为空。