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>"
}Wallet-Adresse registrieren: Travel Rule Adressbuch API
Eigene Wallet mit Didit im Travel-Rule-Adressbuch registrieren, damit INTERNAL-Transfers ihr zugeordnet werden; optional vorverifiziert.
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>"
}Autorisierungen
Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese- oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde, der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als null. Siehe https://docs.didit.me/console/api-keys.
Body
Die Adresse. Eine XRP-X-Adresse wird als klassische Adresse und Tag gespeichert, sodass sie Transfers zugeordnet werden kann, die eine der beiden Formen nennen.
128Chain-Token für die Adresse, zum Beispiel ETH oder BTC. Wenn Didit einen Transfer routet oder registriert, gleicht es Adressbucheinträge anhand der Adresse und – sofern der Transfer eine Chain enthält – auch anhand dieses Werts ab (Groß-/Kleinschreibung wird ignoriert). Die Chain eines Transfers ist beneficiary_data.chain, ausgefüllt anhand der Krypto-Chain der Transaktion oder des Währungssymbols (zum Beispiel ETH), falls Sie dies nicht übermitteln, oder das chain-Feld einer Registrierung nach der Einzahlung. Verwenden Sie daher überall dasselbe Token. Ein Eintrag mit leerer Chain stimmt mit jeder Chain überein. Bekannte Chains werden unter einer kanonischen Kennung gespeichert, unabhängig von der übermittelten Schreibweise: "ethereum", "Ethereum" und "ERC20" werden alle als ETH gespeichert, "BNB Smart Chain" und "BEP20" als BNB, "tron" als TRX. Ein unbekannter Chain-Name wird wie angegeben beibehalten.
3225525516Nur schreibbar. Wenn true, wird der Eintrag bereits über einen SELF_DECLARATION-Nachweis zur Eigentümerschaft verifiziert erstellt. Gibt 400 zurück, wenn allow_self_declaration in Ihren Travel Rule-Einstellungen deaktiviert ist.
Optional. Die Travel Address des VASP der Gegenpartei für diese Wallet, die das TRP-Routing für die von TRP unterstützten Assets (BTC, ETH und USDC auf einem benannten Netzwerk) ermöglicht. Eine ungültige Travel Address gibt 400 zurück.
512Optional. Das Destination-Tag oder Memo, das Teil der Wallet ist. XRP: ein Destination-Tag, eine Ganzzahl von 0 bis 4294967295 (eine JSON-Zahl wird akzeptiert). XLM: ein Text-Memo von bis zu 28 Bytes, eine 64-Bit-ID oder ein 32-Byte-Hash in Hex. EOS: bis zu 256 Bytes. ATOM: bis zu 256 Zeichen. HBAR: bis zu 100 Bytes. Bitcoin-, EVM-, Solana-, Tron-, Litecoin-, Bitcoin Cash-, Dogecoin- und Lightning-Wallets unterstützen kein Memo: die Angabe eines Memos führt zu einem 400. Alias: destinationTag oder destination_tag.
256Antwort
Der erstellte Eintrag.
Die Adresse; "" für einen Eintrag, der nur anhand seines Hashs importiert wurde. Eindeutig pro Anwendung, Netzwerk und Memo, wobei die Adresse ohne Berücksichtigung der Groß-/Kleinschreibung verglichen wird. Nachdem Sie einen Eintrag gelöscht haben, können Sie dieselbe Adresse erneut registrieren.
Chain-Token für die Adresse, zum Beispiel ETH oder BTC. Wenn Didit einen Transfer weiterleitet oder registriert, gleicht es Adressbucheinträge anhand der Adresse ab und, wenn der Transfer eine Chain enthält, auch anhand dieses Werts, unabhängig von Groß-/Kleinschreibung. Die Chain eines Transfers ist beneficiary_data.chain, ausgefüllt aus der Krypto-Chain der Transaktion oder dem Währungssymbol (zum Beispiel ETH), wenn Sie sie nicht senden, oder die chain einer Registrierung nach der Einzahlung; verwenden Sie daher überall denselben Token. Ein Eintrag mit leerer Chain stimmt mit jeder Chain überein. Ein auf Bitcoin registrierter Lightning-Zahlungsempfänger (eine Knoten-ID oder eine Lightning-Adresse) wird in Kleinbuchstaben unter LIGHTNING gespeichert, wo Lightning-Transfers abgeglichen werden. Bekannte Chains werden unter einer kanonischen Kennung gespeichert, unabhängig von der Schreibweise, die Sie senden: „ethereum“, „Ethereum“ und „ERC20“ werden alle als ETH gespeichert, „BNB Smart Chain“ und „BEP20“ als BNB, „tron“ als TRX. Ein unbekannter Chain-Name wird unverändert beibehalten.
Ihre interne Kennung für den Inhaber.
Name des Wallet-Inhabers, der für den Abgleich des Begünstigtennamens verwendet wird.
Freitext, standardmäßig "individual".
Schreibgeschützt. Gibt an, ob das Eigentum an dieser Adresse nachgewiesen wurde.
Die Travel Address des VASP der Gegenpartei für diese Wallet, falls bekannt. Ermöglicht Didit, die Transfers dieses Begünstigten über die TRP-Schiene für die von TRP unterstützten Assets (BTC, ETH und USDC auf einem angegebenen Netzwerk) weiterzuleiten.
Schreibgeschützt. SHA-256 der Adresse in Kleinbuchstaben, als hexadezimale Zeichenkette in Kleinbuchstaben. Ein Eintrag, der nur über seinen Hash importiert wurde, wird darüber abgeglichen.
Das Destination-Tag oder Memo, das Teil der Wallet in einem Memo-Netzwerk ist (XRP, XLM, EOS, ATOM, HBAR); "" für die gesamte Adresse. Ein Eintrag mit einem Memo stimmt nur mit Überweisungen überein, die dieses Memo angeben; ein Eintrag ohne Memo stimmt mit der gesamten Adresse überein.
Ihre wallet-spezifische Travel Address für diese Wallet: Geben Sie sie an den sendenden VASP weiter, damit dessen TRP-Anfrage diese Wallet benennt. Leer für eine Wallet, die als die eines anderen VASP erfasst ist, solange Travel Rule deaktiviert ist und bevor Ihr VASP-Profil gespeichert wird.