> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tender.cash/llms.txt
> Use this file to discover all available pages before exploring further.

# Validate Address

> Check whether a blockchain address is valid on one or more networks

<Note>
  **Auth method: Signed (HMAC)** — this endpoint requires the full set of signed
  headers: `x-access-id`, `x-request-id`, `x-timestamp`, and an HMAC-SHA256
  `authorization` signature. See [Authentication](/api-reference/authentication#signed-hmac-authentication).
</Note>

## Example

<CodeGroup>
  ```javascript Node.js theme={null}
  const res = await fetch(`${BASE}/wallet/validate`, {
    method: 'POST',
    headers: makeHeaders(),
    body: JSON.stringify({
      address:  '0xabc123...',
      networks: ['ethereum'],
    }),
  });

  const { data } = await res.json();
  // data.valid → true
  ```

  ```python Python theme={null}
  res = requests.post(
      f"{BASE}/wallet/validate",
      headers=make_headers(),
      json={"address": "0xabc123...", "networks": ["ethereum"]},
  )
  valid = res.json()["data"]["valid"]
  ```
</CodeGroup>

## Headers

<ParamField header="authorization" type="string" required>
  Base64-encoded HMAC-SHA256 signature of the request payload using the API secret

  **Example:** `"5e73d044c44d733fcf819ad3409aaad..."`
</ParamField>

<ParamField header="x-timestamp" type="string" required>
  Current timestamp in ISO 8601 format

  **Example:** `"2025-03-15T09:45:53.000Z"`
</ParamField>

<ParamField header="x-request-id" type="string" required>
  Unique identifier for the request (UUID v4)

  **Example:** `"550e8400-e29b-41d4-a716-446655440000"`
</ParamField>

<ParamField header="x-access-id" type="string" required>
  Your API access ID provided by Tender

  **Example:** `"your-access-id-here"`
</ParamField>

<ParamField header="Content-Type" type="string" required>
  **Example:** `"application/json"`
</ParamField>

## Body

<ParamField body="address" type="string" required>
  The blockchain address to validate.

  **Example:** `"0xabc123..."`
</ParamField>

<ParamField body="networks" type="array" required>
  List of network identifiers to validate the address against.

  **Example:** `["ethereum"]`
</ParamField>

## Response

<ResponseField name="status" type="string" required>
  **Example:** `"success"`
</ResponseField>

<ResponseField name="message" type="string" required>
  **Example:** `"success"`
</ResponseField>

<ResponseField name="data" type="object" required>
  <Expandable title="data properties">
    <ResponseField name="valid" type="boolean">
      `true` if the address is valid on all specified networks, `false` otherwise.

      **Example:** `true`
    </ResponseField>
  </Expandable>
</ResponseField>


## OpenAPI

````yaml POST /v1/api/wallet/validate
openapi: 3.1.0
info:
  title: Tender API
  description: Tender Developer API for cryptocurrency payments and agent management
  version: 1.0.0
  contact:
    name: Tender Support
    url: https://tender.cash
servers:
  - url: https://secureapi.tender.cash
    description: Production Server
  - url: https://sandbox-api.tender.cash
    description: Sandbox Server
security:
  - SignedAuth: []
tags:
  - name: Agents
    description: Manage agents and sub-businesses
  - name: Transactions
    description: Payment and transaction operations
  - name: System
    description: System information and configuration
  - name: Webhooks
    description: Webhook management and logs
  - name: On-ramp
    description: Fiat-to-crypto on-ramp operations
  - name: Payouts
    description: Send crypto from merchant balance to a wallet address or payout account
  - name: Subwallets
    description: Provision and manage crypto wallet infrastructure for your end-users
paths:
  /v1/api/wallet/validate:
    post:
      tags:
        - Subwallets
      summary: Validate Address
      description: Check whether a blockchain address is valid on one or more networks.
      operationId: validateSubWalletAddress
      parameters:
        - name: authorization
          in: header
          required: true
          schema:
            type: string
        - name: x-timestamp
          in: header
          required: true
          schema:
            type: string
            format: date-time
          example: '2025-03-15T09:45:53.000Z'
        - name: x-request-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        - name: x-access-id
          in: header
          required: true
          schema:
            type: string
          example: your-access-id-here
        - name: Content-Type
          in: header
          required: true
          schema:
            type: string
          example: application/json
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - address
                - networks
              properties:
                address:
                  type: string
                networks:
                  type: array
                  items:
                    type: string
            example:
              address: 0xabc123...
              networks:
                - ethereum
      responses:
        '200':
          description: Validation result
          content:
            application/json:
              example:
                status: success
                message: success
                data:
                  valid: true
      security:
        - SignedAuth: []
components:
  securitySchemes:
    SignedAuth:
      type: apiKey
      in: header
      name: authorization
      description: >-
        Signed (HMAC) authentication. Required headers: x-access-id,
        x-request-id (UUID v4), x-timestamp (ISO 8601), and authorization
        (Base64 HMAC-SHA256 signature of {timeStamp, requestId, accessId} using
        your access secret).

````