Skip to main content
GET
/
travel_rule
/
address_verifications
/
{verification_id}
import cobo_waas2
from cobo_waas2.models.address_verification_detail import AddressVerificationDetail
from cobo_waas2.rest import ApiException
from pprint import pprint

# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
    # Replace `<YOUR_PRIVATE_KEY>` with your private key
    api_private_key="<YOUR_PRIVATE_KEY>",
    # Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
    host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = cobo_waas2.TravelRuleApi(api_client)
    verification_id = "fb377ea5-a97a-49b4-955d-23f8fdd5177a"

    try:
        # Get address verification
        api_response = api_instance.get_address_verification(verification_id)
        print("The response of TravelRuleApi->get_address_verification:\n")
        pprint(api_response)
    except Exception as e:
        print(
            "Exception when calling TravelRuleApi->get_address_verification: %s\n" % e
        )

// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.TravelRuleApi;
import com.cobo.waas2.model.*;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    // Select the development environment. To use the production environment, replace `Env.DEV` with
    // `Env.PROD
    defaultClient.setEnv(Env.DEV);

    // Replace `<YOUR_PRIVATE_KEY>` with your private key
    defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
    TravelRuleApi apiInstance = new TravelRuleApi();
    UUID verificationId = UUID.fromString("fb377ea5-a97a-49b4-955d-23f8fdd5177a");
    try {
      AddressVerificationDetail result = apiInstance.getAddressVerification(verificationId);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling TravelRuleApi#getAddressVerification");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

package main

import (
	"context"
	"fmt"
	coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
	"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
	"os"
)

func main() {
	verificationId := "fb377ea5-a97a-49b4-955d-23f8fdd5177a"

	configuration := coboWaas2.NewConfiguration()
	// Initialize the API client
	apiClient := coboWaas2.NewAPIClient(configuration)
	ctx := context.Background()

	// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
	ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
	// Replace `<YOUR_PRIVATE_KEY>` with your private key
	ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
		Secret: "<YOUR_PRIVATE_KEY>",
	})
	resp, r, err := apiClient.TravelRuleAPI.GetAddressVerification(ctx, verificationId).Execute()
	if err != nil {
		fmt.Fprintf(
			os.Stderr,
			"Error when calling `TravelRuleAPI.GetAddressVerification``: %v\n",
			err,
		)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetAddressVerification`: AddressVerificationDetail
	fmt.Fprintf(os.Stdout, "Response from `TravelRuleAPI.GetAddressVerification`: %v\n", resp)
}

const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.TravelRuleApi();
const verification_id = "fb377ea5-a97a-49b4-955d-23f8fdd5177a";
apiInstance.getAddressVerification(verification_id).then(
  (data) => {
    console.log("API called successfully. Returned data: " + data);
  },
  (error) => {
    console.error(error);
  },
);

{
  "verification_id": "fb377ea5-a97a-49b4-955d-23f8fdd5177a",
  "address": "0x1234567890abcdef1234567890abcdef12345678",
  "chain_id": "ETH",
  "status": "VERIFIED",
  "verification_method": "SATOSHI_TEST",
  "verified_at": 1732523887000,
  "satoshi_test_detail": {
    "challenge_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "from_address": "0x1234567890abcdef1234567890abcdef12345678",
    "to_address": "0xabcdef1234567890abcdef1234567890abcdef12",
    "amount": "1100001000000000",
    "token_id": "ETH",
    "chain_id": "ETH",
    "status": "PENDING",
    "remaining_seconds": 10550,
    "matched_txid": "0xabc123...",
    "started_at": 1732523887000,
    "expires_at": 1732534687000
  },
  "signature_detail": {
    "address": "0x1234567890abcdef1234567890abcdef12345678",
    "challenge": "Hi, please sign this message to confirm that you are the owner of this wallet address.\n- Nonce: b2860f5c9f201a81bc76f33e991c1f24\n- Timestamp: 1732523887\n",
    "signature": "0x4355c6b7e1f3d2a09c8b7e6f5d4c3b2a1908f7e6d5c4b3a2918f7e6d5c4b3a2918f7e6d5c4b3a2918f7e6d5c4b3a2918f7e6d5c4b3a2918f7e6d5c4b3a291b",
    "verified_at": 1732523887000
  }
}
{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}
{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}
Try Cobo WaaS Skill in your AI coding assistant (Claude Code, Cursor, etc.). Describe your needs in natural language to auto-generate production-ready SDK code and debug faster 🚀
import cobo_waas2
from cobo_waas2.models.address_verification_detail import AddressVerificationDetail
from cobo_waas2.rest import ApiException
from pprint import pprint

# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
    # Replace `<YOUR_PRIVATE_KEY>` with your private key
    api_private_key="<YOUR_PRIVATE_KEY>",
    # Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
    host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = cobo_waas2.TravelRuleApi(api_client)
    verification_id = "fb377ea5-a97a-49b4-955d-23f8fdd5177a"

    try:
        # Get address verification
        api_response = api_instance.get_address_verification(verification_id)
        print("The response of TravelRuleApi->get_address_verification:\n")
        pprint(api_response)
    except Exception as e:
        print(
            "Exception when calling TravelRuleApi->get_address_verification: %s\n" % e
        )

// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.TravelRuleApi;
import com.cobo.waas2.model.*;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    // Select the development environment. To use the production environment, replace `Env.DEV` with
    // `Env.PROD
    defaultClient.setEnv(Env.DEV);

    // Replace `<YOUR_PRIVATE_KEY>` with your private key
    defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
    TravelRuleApi apiInstance = new TravelRuleApi();
    UUID verificationId = UUID.fromString("fb377ea5-a97a-49b4-955d-23f8fdd5177a");
    try {
      AddressVerificationDetail result = apiInstance.getAddressVerification(verificationId);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling TravelRuleApi#getAddressVerification");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

package main

import (
	"context"
	"fmt"
	coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
	"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
	"os"
)

func main() {
	verificationId := "fb377ea5-a97a-49b4-955d-23f8fdd5177a"

	configuration := coboWaas2.NewConfiguration()
	// Initialize the API client
	apiClient := coboWaas2.NewAPIClient(configuration)
	ctx := context.Background()

	// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
	ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
	// Replace `<YOUR_PRIVATE_KEY>` with your private key
	ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
		Secret: "<YOUR_PRIVATE_KEY>",
	})
	resp, r, err := apiClient.TravelRuleAPI.GetAddressVerification(ctx, verificationId).Execute()
	if err != nil {
		fmt.Fprintf(
			os.Stderr,
			"Error when calling `TravelRuleAPI.GetAddressVerification``: %v\n",
			err,
		)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetAddressVerification`: AddressVerificationDetail
	fmt.Fprintf(os.Stdout, "Response from `TravelRuleAPI.GetAddressVerification`: %v\n", resp)
}

const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.TravelRuleApi();
const verification_id = "fb377ea5-a97a-49b4-955d-23f8fdd5177a";
apiInstance.getAddressVerification(verification_id).then(
  (data) => {
    console.log("API called successfully. Returned data: " + data);
  },
  (error) => {
    console.error(error);
  },
);

Authorizations

BIZ-API-KEY
string
header
required

The API key. For more details, refer to API key.

In the API playground, enter your API secret, and your API key will be accordingly calculated.

Path Parameters

verification_id
string<uuid>
required

The unique identifier of the address verification record.

Response

The address verification record.

Full detail of a single address verification record, including method-specific provenance.

  • verification_method=SIGNATUREsignature_detail is populated, satoshi_test_detail is null.
  • verification_method=SATOSHI_TESTsatoshi_test_detail carries the latest challenge state (status, remaining_seconds, matched_txid); signature_detail is null.
verification_id
string<uuid>
required

The unique identifier of this verification record.

Example:

"fb377ea5-a97a-49b4-955d-23f8fdd5177a"

address
string
required

The counterparty (self-custody) wallet address being verified.

Example:

"0x1234567890abcdef1234567890abcdef12345678"

chain_id
string
required

The chain on which this address is verified.

Example:

"ETH"

status
enum<string>
required

The lifecycle status of an address verification record.

  • PENDING: A Satoshi Test challenge is in progress (countdown active or awaiting confirmation).
  • VERIFIED: The address ownership has been confirmed (by signature or by a matched Satoshi Test transfer).
  • FAILED: The verification attempt did not succeed (Satoshi Test expired without match, or signature verification rejected).
Available options:
PENDING,
VERIFIED,
FAILED
Example:

"VERIFIED"

verification_method
enum<string>
required

How a self-custody address was verified.

  • SIGNATURE: Verified by off-chain wallet signature (via Get a self-custody signature challenge + signed message).
  • SATOSHI_TEST: Verified by an on-chain micro-deposit (via Satoshi Test challenge).
Available options:
SIGNATURE,
SATOSHI_TEST
Example:

"SATOSHI_TEST"

verified_at
integer<int64> | null

Timestamp (milliseconds) when verification completed. null while status=PENDING or FAILED.

Example:

1732523887000

satoshi_test_detail
Satoshi Test challenge · object | null

The latest Satoshi Test challenge associated with this verification. Present only when verification_method=SATOSHI_TEST.

signature_detail
Signature verification detail · object | null

Off-chain signature provenance. Present only when verification_method=SIGNATURE.