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 para registar endereço de carteira: Travel Rule
Registe uma carteira que controla no livro de endereços da Travel Rule da Didit, para transferências INTERNAL recebidas. Pré-verificação opcional.
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>"
}Autorizações
A chave de API da sua aplicação, a partir de Programadores -> Chaves de API na Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter o âmbito definido: nenhum, leitura ou escrita por recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a uma data de validade. 401 significa que a chave está incorreta, revogada ou expirada; 403 significa que nenhuma chave foi enviada, que a chave não tem acesso a este recurso ou ação, ou que o pedido veio de um endereço fora da sua lista de IP; 404 numa rota de sessão significa que a sessão está fora dos fluxos ou estados da chave. Uma chave sem acesso a multimédia recebe URLs de imagens, vídeos e PDFs como nulos, e uma chave sem permissão de escrita em sessões recebe ligações de sessão e tokens como nulos. Consulte https://docs.didit.me/console/api-keys.
Corpo
O endereço de carteira. Um endereço X da XRP é guardado como o seu endereço clássico e a respetiva tag, pelo que corresponde a transferências que indiquem qualquer um dos formatos.
128Token da blockchain para o endereço, por exemplo ETH ou BTC. Quando a Didit encaminha ou regista uma transferência, faz a correspondência das entradas do livro de endereços com base no endereço da carteira e, quando a transferência inclui uma blockchain, também neste valor, ignorando maiúsculas e minúsculas. A blockchain de uma transferência é beneficiary_data.chain, preenchida a partir da blockchain de criptoativos ou do símbolo da moeda da transação (por exemplo ETH) quando não a enviar, ou o chain de um registo pós-depósito, pelo que deve usar o mesmo token em todo o lado. Uma entrada com uma blockchain vazia corresponde a qualquer blockchain. As blockchains conhecidas são armazenadas sob um identificador canónico, independentemente da grafia enviada: "ethereum", "Ethereum" e "ERC20" são todas guardadas como ETH, "BNB Smart Chain" e "BEP20" como BNB, "tron" como TRX. Um nome de blockchain desconhecido é mantido tal como fornecido.
3225525516Apenas de escrita. Quando true, a entrada é criada já com a propriedade verificada através de uma prova SELF_DECLARATION. Devolve 400 quando allow_self_declaration estiver desativado nas suas definições de Travel Rule.
Opcional. O Travel Address do VASP da contraparte para esta carteira, ativando o encaminhamento TRP para os ativos suportados pelo TRP (BTC, ETH e USDC numa rede designada). Um Travel Address inválido devolve 400.
512Opcional. A destination tag ou memo que faz parte da carteira. XRP: uma destination tag, um número inteiro de 0 a 4294967295 (é aceite um número JSON). XLM: um memo de texto de até 28 bytes, um id de 64 bits ou um hash de 32 bytes em hexadecimal. EOS: até 256 bytes. ATOM: até 256 carateres. HBAR: até 100 bytes. As carteiras de Bitcoin, EVM, Solana, Tron, Litecoin, Bitcoin Cash, Dogecoin e Lightning não aceitam memo: incluir um resulta num 400. Alias: destinationTag ou destination_tag.
256Resposta
O registo criado.
O endereço de carteira; "" para uma entrada importada apenas pelo respetivo hash. Exclusivo por aplicação, cadeia e memo, comparando o endereço sem distinção entre maiúsculas e minúsculas. Depois de eliminar uma entrada, pode registar novamente o mesmo endereço.
Token de blockchain para o endereço, por exemplo ETH ou BTC. Quando a Didit encaminha ou regista uma transferência, faz a correspondência das entradas do livro de endereços com o endereço da carteira e, quando a transferência inclui uma blockchain, também com este valor, ignorando maiúsculas/minúsculas. A blockchain de uma transferência é beneficiary_data.chain, preenchida a partir da blockchain cripto da transação ou do símbolo da moeda (por exemplo ETH) quando não o envia, ou a chain de um registo pós-depósito, pelo que deve usar o mesmo token em todo o lado. Uma entrada com uma blockchain vazia corresponde a qualquer blockchain. Um beneficiário Lightning (um ID de nó ou um Lightning Address) registado em bitcoin é armazenado em minúsculas em LIGHTNING, onde as transferências Lightning são correspondidas. As blockchains conhecidas são armazenadas sob um único identificador canónico, independentemente da grafia enviada: "ethereum", "Ethereum" e "ERC20" são todas armazenadas como ETH, "BNB Smart Chain" e "BEP20" como BNB, "tron" como TRX. Um nome de blockchain desconhecido é mantido tal como fornecido.
O seu identificador interno para o titular.
Nome do titular da carteira, utilizado para a correspondência de nome do beneficiário.
Texto livre; por predefinição, é "individual".
Apenas de leitura. Se a propriedade deste endereço foi comprovada.
O Travel Address do VASP da contraparte para esta carteira, se conhecido. Permite que a Didit encaminhe as transferências deste beneficiário através da via TRP, para os ativos suportados pelo TRP (BTC, ETH e USDC numa rede indicada).
Apenas de leitura. SHA-256 do endereço em minúsculas, em hexadecimal minúsculo. Uma entrada importada apenas pelo respetivo hash é comparada com este valor.
A tag ou memo de destino que faz parte da carteira numa rede baseada em memo (XRP, XLM, EOS, ATOM, HBAR); "" para o endereço completo. Uma entrada com um memo apenas corresponde a transferências que indiquem esse memo; uma entrada sem memo corresponde ao endereço completo.
O seu Travel Address específico por carteira para esta carteira: forneça-o ao VASP remetente para que a respetiva consulta TRP identifique esta carteira. Vazio para uma carteira registada como pertencente a outro VASP, enquanto a Travel Rule estiver desativada e antes de o seu perfil de VASP ser guardado.