# deposit.* — user wallet deposits

A deposit to a user wallet was forwarded to `depositForwardAddress`
(`deposit.completed`), failed the AML check (`deposit.aml_failed`, the
wallet gets blocked) or could not be forwarded (`deposit.failed`). No
other deposit events are sent for user wallets. `deposit.failed` is
not always final: after some errors forwarding is retried and
`deposit.completed` may follow for the same `depositId`. Tell these
events from company deposit events by the `externalId` field.

Endpoint: POST deposit.* (user wallets)
Version: 1.0.0

## Header parameters:

  - `X-Lumo-Signature` (string, required)
    HMAC-SHA256 of the raw request body with the company webhook secret, hex.

  - `X-Lumo-Delivery-Id` (string, required)
    Delivery id. The same for all retries of one delivery — use it to drop duplicates.

## Request fields (application/json):

  - `event` (string, required)
    Enum: "deposit.completed", "deposit.aml_failed", "deposit.failed"

  - `depositId` (string, required)
    Same id as in `GET /user-wallets/deposits`

  - `externalId` (string | null, required)
    The user the wallet belongs to

  - `txHash` (string | null)

  - `walletAddress` (string | null)

  - `amount` (number, required)
    Example: 50

  - `status` (string, required)
    Enum: "completed", "aml_failed", "failed"

  - `amlCheckId` (null)

  - `amlResult` (any)
    Risk indicator from the AML check, on `deposit.aml_failed`

  - `sweepTxHash` (string | null)
    Transaction that forwarded the funds to `depositForwardAddress`

  - `error` (string | null)

  - `blockTimestamp` (null)

  - `createdAt` (string, required)
    When the event was sent

  - `updatedAt` (string, required)
    When the event was sent

## Response 200:

  - `200` (unknown)
    Any `2xx` acknowledges the delivery.

