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));Registra indirizzo wallet API: rubrica Travel Rule
Con Didit aggiungi alla rubrica Travel Rule un wallet di tua proprietà, opzionalmente preverificato con autodichiarazione.
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));Autorizzazioni
La chiave API della tua applicazione, da Developers -> API keys nella Business Console. La chiave primaria ha accesso completo. Una chiave con nome può avere un ambito definito: nessuno, lettura o scrittura per risorsa, limitata ad alcuni workflow o a sessioni approvate, a un elenco di indirizzi IP e a una data di scadenza. 401 indica che la chiave è errata, revocata o scaduta; 403 indica che non è stata inviata alcuna chiave, che la chiave non ha accesso a questa risorsa o azione, oppure che la richiesta proviene da un indirizzo non incluso nel suo elenco IP; 404 su una route di sessione indica che la sessione non rientra nei workflow o negli stati previsti dalla chiave. Una chiave senza accesso ai media riceve gli URL di immagini, video e PDF come null, e una chiave senza permessi di scrittura sulle sessioni riceve link e token di sessione come null. Consulta https://docs.didit.me/console/api-keys.
Corpo
L'indirizzo del wallet. Un indirizzo X-address XRP viene memorizzato come indirizzo classico e relativo tag, in modo da corrispondere ai trasferimenti che specificano uno dei due formati.
128Token della blockchain per l'indirizzo, ad esempio ETH o BTC. Quando Didit instrada o registra un trasferimento, confronta le voci della rubrica sull'indirizzo del wallet e, quando il trasferimento include una blockchain, anche su questo valore, ignorando maiuscole e minuscole. La blockchain di un trasferimento è beneficiary_data.chain, compilata a partire dalla blockchain crypto o dal simbolo di valuta della transazione (ad esempio ETH) quando non la invii, oppure la chain di una registrazione post-deposito, quindi usa lo stesso token ovunque. Una voce con una blockchain vuota corrisponde a qualsiasi blockchain. Le blockchain note sono memorizzate sotto un unico identificatore canonico indipendentemente dall'ortografia inviata: "ethereum", "Ethereum" e "ERC20" sono tutte memorizzate come ETH, "BNB Smart Chain" e "BEP20" come BNB, "tron" come TRX. Il nome di una blockchain sconosciuta viene mantenuto così come fornito.
3225525516Sola scrittura. Quando true, la voce viene creata con l'assetto proprietario già verificato tramite una prova SELF_DECLARATION. Restituisce 400 quando allow_self_declaration è disattivato nelle impostazioni della Travel Rule.
Opzionale. Il Travel Address del VASP della controparte per questo wallet, abilitando l'instradamento TRP per gli asset gestiti da TRP (BTC, ETH e USDC su una rete specificata). Un Travel Address non valido restituisce 400.
512Opzionale. Il destination tag o memo che fa parte del wallet. XRP: un destination tag, un numero intero da 0 a 4294967295 (è accettato un numero JSON). XLM: un memo di testo fino a 28 byte, un ID a 64 bit o un hash a 32 byte in esadecimale. EOS: fino a 256 byte. ATOM: fino a 256 caratteri. HBAR: fino a 100 byte. I wallet Bitcoin, EVM, Solana, Tron, Litecoin, Bitcoin Cash, Dogecoin e Lightning non accettano memo: specificarne uno restituisce 400. Alias: destinationTag o destination_tag.
256Risposta
La voce creata.
L'indirizzo del wallet; "" per una voce importata solo tramite il suo hash. Univoco per applicazione, rete e memo, confrontando l'indirizzo senza fare distinzione tra maiuscole e minuscole. Dopo aver eliminato una voce, puoi registrare nuovamente lo stesso indirizzo.
Token di chain per l'indirizzo, ad esempio ETH o BTC. Quando Didit instrada o registra un trasferimento, associa le voci della rubrica in base all'indirizzo e, quando il trasferimento include una chain, anche su questo valore, ignorando maiuscole e minuscole. La chain di un trasferimento è beneficiary_data.chain, compilata a partire dalla chain crypto o dal simbolo della valuta della transazione (ad esempio ETH) quando non la invii, oppure la chain di una registrazione successiva al deposito, quindi usa lo stesso token ovunque. Una voce con una chain vuota corrisponde a qualsiasi chain. Un beneficiario Lightning (un id di nodo o un indirizzo Lightning) registrato su bitcoin viene memorizzato in minuscolo su LIGHTNING, dove vengono associati i trasferimenti Lightning. Le chain note vengono memorizzate con un identificatore canonico indipendentemente da come vengono scritte: "ethereum", "Ethereum" ed "ERC20" sono tutte memorizzate come ETH, "BNB Smart Chain" e "BEP20" come BNB, "tron" come TRX. Un nome di chain sconosciuto viene mantenuto così come fornito.
Il tuo identificatore interno per il titolare.
Nome del titolare del wallet, utilizzato per la corrispondenza del nome del beneficiario.
Testo libero, il valore predefinito è "individual".
Sola lettura. Indica se la proprietà di questo indirizzo è stata comprovata.
Il Travel Address del VASP di controparte per questo wallet, se noto. Consente a Didit di instradare i trasferimenti di questo beneficiario tramite il canale TRP, per gli asset supportati da TRP (BTC, ETH e USDC su una rete specifica).
Sola lettura. SHA-256 dell'indirizzo in caratteri minuscoli, in formato esadecimale minuscolo. Una voce importata unicamente tramite il suo hash viene confrontata in base a questo valore.
Il destination tag o memo che fa parte del wallet su una rete con memo (XRP, XLM, EOS, ATOM, HBAR); "" per l'intero indirizzo. Una voce con un memo corrisponde solo ai trasferimenti che indicano tale memo; una voce senza memo corrisponde all'intero indirizzo.
Il tuo Travel Address per questo wallet: forniscilo al VASP mittente affinché la sua richiesta TRP indichi questo wallet. Vuoto per un wallet registrato come appartenente a un altro VASP, quando la Travel Rule è disattivata e prima che il tuo profilo VASP sia salvato.