Customer's Crypto Address

This guide provides an overview of how to register and manage a customer's crypto address.

The Harbor Customers API allows you to securely submit a customer's crypto address to Harbor, enabling you to manage the verification and linking process independently. Before adding a crypto address, you must first create a customer using the Customers API. Once the customer is successfully registered, you can proceed with linking their crypto address. This API provides flexibility in handling crypto address integrations, whether for individuals or businesses.

🚀

Register customer's Crypto Address

If your business model will transfer money on behalf of your Customer, please use Transfer directly. Here, only Customers are allowed to register their own crypto addresses.

API Request: Adding The Customer’s Crypto Address (For On-Chain Transactions)

You are now ready to start using Harbor’s core APIs.
Before adding a crypto address, the first step is to create a customer object, which represents a user in your system. Once the customer is successfully registered, you can proceed with linking their crypto address.

When making this request, ensure you include the required headers as shown in the example below. Most importantly, you must pass the X-API-KEY to authenticate the request.

🛑

Requirements

The customer must agree to Harbor’s Terms of Service.
An Idempotency Key (X-Idempotency-Key) is required to prevent duplicate submissions. A customer ID is required when adding a crypto address to associate it with the correct customer.

curl --location --request POST 'https://harbor-sandbox.owlpay.com/api/v1/customers/{{customer_uuid}}/crypto_addresses' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-API-KEY: {{API_KEY}}' \
--header 'X-Idempotency-Key: {{Idempotency-Key}}' \
--data-raw '{
  "chain": "ethereum",
  "address": "0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db"
}'

The endpoint will return a response as shown below.

{
    "data": {
        "uuid": "{{crypto_uuid}}",
        "customer_uuid": "{{customer_uuid}}",
        "chain": "ethereum",
        "address": "0x12345",
        "address_memo": null,
        "status": "pending",
        "updated_at": "2025-02-20T03:56:19+00:00",
        "created_at": "2025-02-20T03:56:19+00:00"
    }
}

API Request: Retrieving The Customer's Crypto Addresses

curl --location --request GET 'https://harbor-sandbox.owlpay.com/api/v1/customers/{{customer_uuid}}/crypto_addresses' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-API-KEY: {{API_KEY}}'

Response

{
    "data": [
        {
            "uuid": "cus_c6eGuhprDrqQK6ea0JNBffci77fHckdc9uZUeodS",
            "customer_uuid": "cus_H6Sb5WyzJTdCjNw32stniAWKDxsExYMcLfaype6J",
            "chain": "ethereum",
            "address": "0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db",
            "status": "pending",
            "updated_at": "2025-02-10T07:13:10+00:00",
            "created_at": "2025-02-10T07:13:10+00:00"
        },
        {
            "uuid": "cus_vz1nNEotuwBqjqYedW7bAcAS8V26WuKds0YiIQCv",
            "customer_uuid": "cus_H6Sb5WyzJTdCjNw32stniAWKDxsExYMcLfaype6J",
            "chain": "ethereum",
            "address": "0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db",
            "status": "pending",
            "updated_at": "2025-02-11T05:00:44+00:00",
            "created_at": "2025-02-10T07:12:52+00:00"
        }
    ],
    "links": {
        "first": "http://owlpay_harbor_api.test/api/v1/customers/cus_H6Sb5WyzJTdCjNw32stniAWKDxsExYMcLfaype6J/crypto_addresses?page=1",
        "last": "http://owlpay_harbor_api.test/api/v1/customers/cus_H6Sb5WyzJTdCjNw32stniAWKDxsExYMcLfaype6J/crypto_addresses?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "http://owlpay_harbor_api.test/api/v1/customers/cus_H6Sb5WyzJTdCjNw32stniAWKDxsExYMcLfaype6J/crypto_addresses?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "path": "http://owlpay_harbor_api.test/api/v1/customers/cus_H6Sb5WyzJTdCjNw32stniAWKDxsExYMcLfaype6J/crypto_addresses",
        "per_page": 10,
        "to": 2,
        "total": 2
    }
}

For further details, please refer to the API documentation or consult the appropriate business representative.


Status

When a Customer's Crypto Address is sent, the state changes may be as follows (For a detailed explanation of each status, please refer to Status :

Status of Customer's Crypto Address