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));{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"address": "<string>",
"chain": "<string>",
"holder_vendor_data": "<string>",
"holder_name": "<string>",
"entity_type": "<string>",
"is_ownership_verified": true,
"created_at": "2023-11-07T05:31:56Z",
"travel_address": "<string>",
"address_hash": "<string>",
"memo": "<string>",
"receiving_travel_address": "<string>"
}ウォレットアドレス登録API:トラベルルールのアドレス帳
Diditで管理下のウォレットをトラベルルールのアドレス帳に追加し、INTERNALレール経由の受信送金をそのウォレットに紐付けます。自己申告による事前検証も可能です。
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));{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"address": "<string>",
"chain": "<string>",
"holder_vendor_data": "<string>",
"holder_name": "<string>",
"entity_type": "<string>",
"is_ownership_verified": true,
"created_at": "2023-11-07T05:31:56Z",
"travel_address": "<string>",
"address_hash": "<string>",
"memo": "<string>",
"receiving_travel_address": "<string>"
}承認
お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権(なし、読み取り、書き込み)、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください: https://docs.didit.me/console/api-keys
ボディ
ウォレットアドレス。XRPのXアドレスはクラシックアドレスとタグとして保存されるため、どちらの形式を指定した送金とも一致します。
128アドレスのチェーントークンです(例: ETH、BTC)。Diditが送金をルーティングまたは登録する際、アドレス帳のエントリーをウォレットアドレスで照合し、送金にチェーンが含まれる場合はこの値でも照合します(大文字と小文字は区別しません)。送金のチェーンはbeneficiary_data.chain(送信しない場合は取引の暗号資産チェーンまたは通貨シンボル(例: ETH)から補完されます)、または入金後登録のchainです。そのため、すべての箇所で同じトークンを使用してください。チェーンが空のエントリーは、すべてのチェーンに一致します。既知のチェーンは、送信された表記にかかわらず1つの正規の識別子で保存されます。"ethereum"、"Ethereum"、"ERC20"はすべてETHとして、"BNB Smart Chain"と"BEP20"はBNBとして、"tron"はTRXとして保存されます。未知のチェーン名は送信されたとおりに保持されます。
3225525516書き込み専用。trueの場合、エントリーはSELF_DECLARATION証明によって所有権が検証済みの状態で作成されます。トラベルルール設定でallow_self_declarationがオフの場合は400を返します。
任意。このウォレットに対する取引相手VASPのトラベルアドレスです。TRPが扱う資産(BTC、ETH、および指定ネットワーク上のUSDC)でTRPルーティングが可能になります。無効なトラベルアドレスの場合は400が返されます。
512任意。ウォレットの一部である宛先タグまたはメモです。XRP:宛先タグで、0から4294967295までの整数です(JSONの数値も受け付けます)。XLM:最大28バイトのテキストメモ、64ビットのID、または16進数表記の32バイトのハッシュです。EOS:最大256バイトです。ATOM:最大256文字です。HBAR:最大100バイトです。Bitcoin、EVM、Solana、Tron、Litecoin、Bitcoin Cash、Dogecoin、Lightningのウォレットはメモを受け付けず、指定すると400になります。エイリアス:destinationTagまたはdestination_tag。
256レスポンス
作成されたエントリ。
ウォレットアドレス。ハッシュのみでインポートされたエントリの場合は""。アプリケーション、チェーン、メモごとに一意で、アドレスは大文字と小文字を区別せずに比較されます。エントリを削除した後は、同じアドレスを再登録できます。
アドレスのチェーントークン(例: ETH、BTC)。Diditが送金をルーティングまたは登録する際は、ウォレットアドレスでアドレス帳のエントリーを照合し、送金にチェーンが含まれる場合はこの値でも大文字・小文字を区別せずに照合します。送金のチェーンはbeneficiary_data.chainです。送信しなかった場合は取引の暗号資産チェーンまたは通貨シンボル(例: ETH)から設定され、入金後の登録の場合はそのchainが使われます。そのため、すべての箇所で同じトークンを使用してください。チェーンが空のエントリーは、どのチェーンにも一致します。bitcoinで登録されたLightningの受取先(ノードIDまたはLightning Address)は、小文字に変換されてLIGHTNINGに保存され、Lightningの送金はそこで照合されます。既知のチェーンは、送信した表記にかかわらず1つの正規識別子で保存されます。"ethereum"、"Ethereum"、"ERC20"はすべてETHとして、"BNB Smart Chain"と"BEP20"はBNBとして、"tron"はTRXとして保存されます。不明なチェーン名は指定されたとおりに保持されます。
保有者に対するお客様の内部識別子です。
受取人名の照合に使用されるウォレット保有者の名前。
自由記述のテキスト。デフォルトは"individual"です。
読み取り専用。このアドレスの所有権が証明済みかどうか。
このウォレットに対する取引相手VASPのトラベルアドレス(判明している場合)。これにより、TRPが扱うアセット(BTC、ETH、および指定されたネットワーク上のUSDC)について、Diditはこの受取人への送金をTRPレール経由でルーティングできます。
読み取り専用。小文字化したアドレスのSHA-256を、小文字の16進数で表したものです。ハッシュのみでインポートされたエントリーは、この値で照合されます。
メモ型ネットワーク(XRP、XLM、EOS、ATOM、HBAR)でウォレットの一部となる宛先タグまたはメモです。アドレス全体の場合は""です。メモ付きのエントリはそのメモを指定した送金にのみ一致し、メモなしのエントリはアドレス全体に一致します。
このウォレット用の、ウォレットごとのトラベルアドレスです。送信側VASPに渡すと、そのTRP照会でこのウォレットが指定されます。他のVASPのウォレットとして記録されたウォレットの場合、トラベルルールが無効な間、およびVASPプロファイルを保存する前は空です。