# Validating addresses

<mark style="color:green;">`POST`</mark> `/api/public/v1/addresses/validate`

Validates a wallet address before you create a payout. The endpoint checks that the address format is correct for the specified network and screens it against sanctions and high-risk wallet lists. A `200` response means the address passed both checks and is safe to use in a [Create Payout](/payouts/creating-payout.md) request.

{% hint style="info" %}
This endpoint uses `Content-Type: application/json`, not `application/vnd.api+json`.
{% endhint %}

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `Bearer <api_key>` |

**Request Body**

<table><thead><tr><th width="126">Name</th><th width="111">Type</th><th width="105">Required</th><th>Description</th></tr></thead><tbody><tr><td>address</td><td>string</td><td>Yes</td><td>Wallet address to validate.</td></tr><tr><td>network</td><td>string</td><td>Yes</td><td>Network code for the address. Use the same value you intend to pass as <code>payNetwork</code> in Create Payout. See <a href="/pages/SA7q0b6VrvXO3W09TQfS">Supported Currencies</a> or <a href="/pages/LZN85Aljdy7QXbLhakR2">Listing Payout Currency Pairs</a>.</td></tr></tbody></table>

**cURL**

```json
curl -X "POST" "https://api.sandbox.txn.io/api/public/v1/addresses/validate" \
     -H 'Content-Type: application/json' \
     -H 'Authorization: Bearer <api_key>' \
     -d '{
  "address": "TTbGTMwUwA3mncLP7xqCZei1ekaNSgeAJe",
  "network": "ttrx:usdt"
}'
```

**Response**

{% tabs %}
{% tab title="HTTP 200" %}

```json
{
  "data": {},
  "status": "ok",
  "jsonapi": {
    "version": "1.0"
  }
}
```

Address is valid and not flagged. Safe to use in a Create Payout request.
{% endtab %}

{% tab title="HTTP 422" %}

```json
{
  "errors": [
    {
      "status": 422,
      "title": "Invalid address",
      "code": "invalid_address",
      "detail": "",
      "source": {
        "pointer": "/data/attributes/address"
      }
    }
  ]
}
```

Address format is invalid for the specified network. This is also returned when the address belongs to a different network than the one specified (e.g. an Ethereum address submitted with a Tron network code).
{% endtab %}

{% tab title="HTTP 422" %}

```json
{
  "errors": [
    {
      "status": 422,
      "title": "We couldn't send funds to this address, please try another address",
      "code": "address_has_high_risk_score",
      "detail": "",
      "source": {
        "pointer": "/data/attributes/address"
      }
    }
  ]
}
```

Address failed risk screening. Do not proceed with a payout to this address.
{% endtab %}

{% tab title="HTTP 404" %}

```json
{
  "errors": [
    {
      "status": 404,
      "title": "Record not found",
      "code": "network_not_found",
      "detail": "Network not found"
    }
  ]
}
```

Network code not recognised. Check the value against [Supported Currencies](/api-basics/supported-currencies.md) or [Listing Payout Currency Pairs](/payouts/listing-payout-currency-pairs.md).
{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.txn.io/payouts/validating-addresses.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
