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>"
}Registrar adreça de cartera: API llibreta Travel Rule
Registra una cartera pròpia a la llibreta de Travel Rule de Didit perquè les transferències internes hi arribin, opcionalment pre-verificada.
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>"
}Autoritzacions
La clau d'API de la teva aplicació, des de Developers -> API keys a la Business Console. La clau primària té accés complet. Una clau amb nom pot tenir l'abast limitat: cap, lectura o escriptura per recurs, limitada a determinats fluxos de treball o a sessions aprovades, a una llista d'adreces IP i a una data de caducitat. 401 significa que la clau és incorrecta, revocada o caducada; 403 significa que no s'ha enviat cap clau, que la clau no té accés a aquest recurs o acció, o que la sol·licitud prové d'una adreça fora de la seva llista d'IP; 404 en una ruta de sessió significa que la sessió està fora dels fluxos de treball o estats de la clau. Una clau sense accés a fitxers multimèdia rep els URL d'imatge, vídeo i PDF com a null, i una clau sense permís d'escriptura de sessions rep els enllaços de sessió i els tokens com a null. Consulta https://docs.didit.me/console/api-keys.
Cos
L'adreça de la cartera. Una X-address de XRP s'emmagatzema com la seva adreça clàssica i la seva etiqueta, de manera que coincideix amb les transferències que mencionin qualsevol de les dues formes.
128Token de la blockchain per a l'adreça, per exemple ETH o BTC. Quan Didit enruta o registra una transferència, fa coincidir les entrades de la llibreta d'adreces amb l'adreça de la cartera i, si la transferència inclou una blockchain, també amb aquest valor, sense distingir majúscules de minúscules. La blockchain d'una transferència és beneficiary_data.chain, emplenada a partir de la blockchain de criptomonedes o el símbol de la moneda de la transacció (per exemple ETH) si no l'envies, o el chain d'un registre posterior al dipòsit, per la qual cosa cal utilitzar el mateix token arreu. Una entrada amb una blockchain buida coincideix amb qualsevol blockchain. Les blockchains conegudes s'emmagatzemen sota un identificador canònic, independentment de com s'escriguin: "ethereum", "Ethereum" i "ERC20" s'emmagatzemen com a ETH, "BNB Smart Chain" i "BEP20" com a BNB, i "tron" com a TRX. Un nom de blockchain desconegut es manté tal com s'ha proporcionat.
3225525516Només escriptura. Quan és cert, l'entrada es crea ja amb la titularitat verificada mitjançant una prova de tipus SELF_DECLARATION. Retorna 400 quan allow_self_declaration està desactivat a la teva configuració de Travel Rule.
Opcional. La Travel Address del VASP de la contrapart per a aquesta cartera, que habilita l'encaminament TRP per als actius que transporta TRP (BTC, ETH i USDC en una xarxa designada). Una Travel Address no vàlida retorna 400.
512Opcional. L'etiqueta de destinació o memo que forma part de la cartera. XRP: una etiqueta de destinació, un nombre enter de 0 a 4294967295 (s'accepta un nombre JSON). XLM: un memo de text de fins a 28 bytes, un id de 64 bits o un hash de 32 bytes en hexadecimal. EOS: fins a 256 bytes. ATOM: fins a 256 caràcters. HBAR: fins a 100 bytes. Les carteres de Bitcoin, EVM, Solana, Tron, Litecoin, Bitcoin Cash, Dogecoin i Lightning no admeten memo: si se n'inclou un, es retorna un 400. Àlies: destinationTag o destination_tag.
256Resposta
L'entrada creada.
L'adreça de la cartera; "" per a una entrada importada només pel seu resum criptogràfic. Única per aplicació, cadena i memo, comparant l'adreça sense distingir majúscules de minúscules. Després de suprimir una entrada, pots tornar a registrar la mateixa adreça.
Token de cadena per a l'adreça, per exemple ETH o BTC. Quan Didit encamina o registra una transferència, fa coincidir les entrades de la llibreta d'adreces amb l'adreça de la cartera i, quan la transferència inclou una cadena, també amb aquest valor, ignorant majúscules i minúscules. La cadena d'una transferència és beneficiary_data.chain, que s'omple a partir de la cadena cripto de la transacció o del símbol de la moneda (per exemple, ETH) quan no l'envies, o del camp chain d'un registre posterior al dipòsit, de manera que has de fer servir el mateix token a tot arreu. Una entrada amb una cadena buida coincideix amb qualsevol cadena. Un beneficiari de Lightning (un id de node o una Lightning Address) registrat a bitcoin s'emmagatzema en minúscules a LIGHTNING, on es fan coincidir les transferències de Lightning. Les cadenes conegudes s'emmagatzemen sota un únic identificador canònic, independentment de com s'escriguin: "ethereum", "Ethereum" i "ERC20" s'emmagatzemen com a ETH; "BNB Smart Chain" i "BEP20" com a BNB; "tron" com a TRX. Els noms de cadena desconeguts es mantenen tal com s'han indicat.
El teu identificador intern per al titular.
Nom del titular de la cartera, utilitzat per a la coincidència del nom del beneficiari.
Text lliure, per defecte "individual".
Només de lectura. Indica si s'ha demostrat la titularitat d'aquesta adreça.
La Travel Address del VASP contrapart per a aquesta cartera, si es coneix. Permet a Didit encaminar les transferències d'aquest beneficiari a través del canal TRP, per als actius que admet TRP (BTC, ETH i USDC en una xarxa designada).
Només de lectura. SHA-256 de l'adreça en minúscules, en format hexadecimal en minúscules. Una entrada importada només pel seu hash s'hi emparella mitjançant aquest valor.
L'etiqueta de destinació o nota que forma part de la cartera en una xarxa de notes (XRP, XLM, EOS, ATOM, HBAR); "" per a tota l'adreça. Una entrada amb una nota només coincideix amb transferències que indiquin aquesta nota; una sense coincideix amb tota l'adreça.
La teva Travel Address específica per a aquesta cartera: proporciona-la al VASP remitent perquè la seva consulta TRP designi aquesta cartera. Està buida per a una cartera registrada com a pertanyent a un altre VASP, mentre Travel Rule estigui desactivada i abans que es desi el teu perfil de VASP.