Verify Address Ownership

POST /api/v2/analytics/verification/chains/{chain}/addresses/{address}

Overview

The Address Ownership Verification process allows a Virtual Asset Service Provider (VASP) to confirm that a user owns or controls a specified self-hosted (non-custodial) wallet address. This is achieved through a secure signature process facilitated by Ospree.

For specific API integration flows, see:

Step-by-Step

1

Verification Request

The VASP initiates the process by calling: POST /api/v2/analytics/verification/chains/{chain}/addresses/{address} The request must include the blockchain network identifier (chain) and the user’s wallet address (address).

2

Secure Link Generation

Ospree generates a unique, secure verification link. This link enables the user to prove ownership by signing a verification message. The link is returned to the VASP in the API response.

3

Link Distribution

The VASP delivers the verification link to the user via its preferred communication channel (e.g., email, SMS, or in-app message).

4

User Verification

The user accesses the link and signs a verification message with their wallet. This signature confirms they control the private key associated with the wallet address.

5

Verification Confirmation

Ospree verifies the signature and confirms ownership. The result is sent to the VASP through the configured webhook endpoint.

Path Parameters

Name
Type
Description
Required

chain

string

Blockchain network name. Example: bitcoin

True

address

string

Unique blockchain identifier. Example: 1JjYpRXfPntVEJqAjxsYmvFjjJBdJyaJ2k

True

Sample Request

curl -X POST https://sandbox.ospree.io/api/v2/analytics/verification/chains/bitcoin/addresses/1Q8QR5k32hexiMQnRgkJ6fmmjn5fMWhdv9

-h 'Content-Type: application/json' \
-h 'Accept: application/json' \
-h 'Authorization: ••••••' \
{
  "status": "success",
  "data": {
    "link": "app.ospree.io/address/verification/HkVXKYpdGKSXK_l9Ss1YmG_xen6wrOhLKsSHBogVuJ-HDe4F4GxiOTsWCMfJOCrVHFgJQaQ-x4cZUg6rtFXporrR8_smWuWXM2_yxVFom9PJA-3HyN4rxkXuG9qzjYkPYv9zYF0fLvo8_du3RmKuGPdH0Keq_IIMp2iCAOUQOk-KCyBzoDWQ13dizcTkgmOX8Nm53iJUPDSJV-d7SOplD5ngzWGDH9nFY0DdoqIujfLh5rAFDGsvPHpXp7YSaFyt",
  }
}

Last updated