> ## 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.

# Add Deposit Filter

> Register a blockchain address to be monitored for incoming deposits

<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>

Registers an address with Tender's deposit monitor. Once registered, any deposit detected on
this address triggers a `SUB_USER_WALLET_TRANSACTION_DETECTED` webhook to your server.

## Example

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

  const { data } = await res.json();
  // data.watched → true
  // data.chains  → ['ethereum', 'polygon']
  ```

  ```python Python theme={null}
  res = requests.post(
      f"{BASE}/wallet/filter",
      headers=make_headers(),
      json={"address": "0xabc123...", "chains": ["ethereum", "polygon"]},
  )
  data = res.json()["data"]
  ```
</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 watch.

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

<ParamField body="chains" type="array" required>
  List of chain identifiers on which to watch this address for deposits.

  **Example:** `["ethereum", "polygon"]`
</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="address" type="string">
      The address that was registered.

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

    <ResponseField name="watched" type="boolean">
      Confirmation that the address is now being watched.

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

    <ResponseField name="chains" type="array">
      The chains on which the address is being monitored.

      **Example:** `["ethereum", "polygon"]`
    </ResponseField>
  </Expandable>
</ResponseField>


## OpenAPI

````yaml POST /v1/api/wallet/filter
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/filter:
    post:
      tags:
        - Subwallets
      summary: Add Deposit Filter
      description: >-
        Register a blockchain address to be monitored for incoming deposits.
        Triggers SUB_USER_WALLET_TRANSACTION_DETECTED webhook on each detected
        deposit.
      operationId: addSubWalletFilter
      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
                - chains
              properties:
                address:
                  type: string
                chains:
                  type: array
                  items:
                    type: string
            example:
              address: 0xabc123...
              chains:
                - ethereum
                - polygon
      responses:
        '200':
          description: Address registered for monitoring
          content:
            application/json:
              example:
                status: success
                message: success
                data:
                  address: 0xabc123...
                  watched: true
                  chains:
                    - ethereum
                    - polygon
      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).

````