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

# Smart Deposit Routing Events

> Webhook events emitted as stablecoins are routed through the Smart Deposit Address into a vault

Every smart deposit webhook includes the [common fields](/v1.0.0/intro/webhooks/event-catalog#common-fields), plus the routing and token context below. Each event also carries `received_amount` — the stablecoin amount detected at the Smart Deposit Address, in the input token's smallest unit.

## Shared Fields

| Field                      | Type             | Description                                                                                                        |
| -------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------ |
| `chain_id`                 | `string`         | EIP 155 chain ID (e.g. `"11155111"`).                                                                              |
| `chain_name`               | `string`         | Human-readable chain name (e.g. `"Ethereum Sepolia"`).                                                             |
| `organization_id`          | `string`         | Your organization UUID.                                                                                            |
| `customer_id`              | `string \| null` | Optional customer identifier passed when creating the Smart Deposit Address. `null` if not provided.               |
| `smart_deposit_address`    | `string`         | The Smart Deposit Address that received the stablecoins.                                                           |
| `user_destination_address` | `string`         | End-user address where vault shares are minted.                                                                    |
| `vault_address`            | `string`         | Target vault (Boring Vault) contract address.                                                                      |
| `input_token_symbol`       | `string`         | Symbol of the deposited stablecoin (e.g. `"USDC"`).                                                                |
| `input_token_address`      | `string`         | Contract address of the deposited stablecoin.                                                                      |
| `input_token_decimals`     | `number`         | Decimal places of the input token.                                                                                 |
| `received_amount`          | `string`         | Amount received at the Smart Deposit Address, in the input token's smallest unit. String for bigint serialization. |

***

## `smart_deposit.deposit.pending`

Paxos Labs has received the stablecoins and initiated the process to deposit them into the vault.

```json theme={null}
{
  "id": "1234567890",
  "type": "smart_deposit.deposit.pending",
  "timestamp": "2026-04-10T18:32:24.000Z",
  "version": "v2",
  "chain_name": "Ethereum Sepolia",
  "chain_id": "11155111",
  "organization_id": "700768ae-c71d-42cc-9ff9-13b777d6d379",
  "customer_id": "user_abc123",
  "smart_deposit_address": "0xsda0000000000000000000000000000000123",
  "user_destination_address": "0xuda0000000000000000000000000000000000456",
  "distributor_code_depositor_address": "0xdcd0000000000000000000000000000000123",
  "vault_address": "0xvlt0000000000000000000000000000000999",
  "input_token_symbol": "USDC",
  "input_token_address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
  "input_token_decimals": 6,
  "received_amount": "10000000",
  "receipt_tx_hash": "0x1234",
  "receipt_tx_block_hash": "0x4567"
}
```

### Event-Specific Fields

| Field                   | Type     | Description                                                                    |
| ----------------------- | -------- | ------------------------------------------------------------------------------ |
| `received_amount`       | `string` | Amount received in the token's smallest unit. String for bigint serialization. |
| `receipt_tx_hash`       | `string` | Transaction hash of the deposit into the Smart Deposit Address.                |
| `receipt_tx_block_hash` | `string` | Block hash of the deposit transaction.                                         |

***

## `smart_deposit.deposit.confirmed`

Stablecoins have been successfully deposited into the vault and shares have been minted to the destination address.

```json theme={null}
{
  "id": "1234567890",
  "type": "smart_deposit.deposit.confirmed",
  "timestamp": "2026-04-10T18:32:24.000Z",
  "version": "v2",
  "chain_name": "Ethereum Sepolia",
  "chain_id": "11155111",
  "organization_id": "700768ae-c71d-42cc-9ff9-13b777d6d379",
  "customer_id": "user_abc123",
  "smart_deposit_address": "0xsda0000000000000000000000000000000123",
  "user_destination_address": "0xuda0000000000000000000000000000000000456",
  "distributor_code_depositor_address": "0xdcd0000000000000000000000000000000123",
  "vault_address": "0xvlt0000000000000000000000000000000999",
  "input_token_symbol": "USDC",
  "input_token_address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
  "input_token_decimals": 6,
  "received_amount": "10000000",
  "minted_amount": "9000000",
  "forward_tx_hash": "0x1234",
  "forward_tx_block_hash": "0x4567"
}
```

### Event-Specific Fields

| Field                   | Type     | Description                                                                         |
| ----------------------- | -------- | ----------------------------------------------------------------------------------- |
| `received_amount`       | `string` | Amount received in the token's smallest unit.                                       |
| `minted_amount`         | `string` | Value of shares minted to the user, denominated in the input token's smallest unit. |
| `forward_tx_hash`       | `string` | Transaction hash from forwarding funds from the Smart Deposit Address into the DCD. |
| `forward_tx_block_hash` | `string` | Block hash of the forward transaction.                                              |

***

## `smart_deposit.deposit.finalized`

Deposit finalized.

```json theme={null}
{
  "id": "1234567890",
  "type": "smart_deposit.deposit.finalized",
  "timestamp": "2026-04-10T18:32:24.000Z",
  "version": "v2",
  "chain_name": "Ethereum Sepolia",
  "chain_id": "11155111",
  "organization_id": "700768ae-c71d-42cc-9ff9-13b777d6d379",
  "customer_id": "user_abc123",
  "smart_deposit_address": "0xsda0000000000000000000000000000000123",
  "user_destination_address": "0xuda0000000000000000000000000000000000456",
  "distributor_code_depositor_address": "0xdcd0000000000000000000000000000000123",
  "vault_address": "0xvlt0000000000000000000000000000000999",
  "input_token_symbol": "USDC",
  "input_token_address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
  "input_token_decimals": 6,
  "received_amount": "10000000",
  "minted_amount": "9000000",
  "forward_tx_hash": "0x1234",
  "forward_tx_block_hash": "0x4567"
}
```

### Event-Specific Fields

Same as `smart_deposit.deposit.confirmed`. Sent after the forward transaction reaches chain-specific finality.

***

## `smart_deposit.deposit.failed`

Unable to deposit for some reason. Customer notified with reason and remediation actions taken.

```json theme={null}
{
  "id": "1234567890",
  "type": "smart_deposit.deposit.failed",
  "timestamp": "2026-04-10T18:32:24.000Z",
  "version": "v2",
  "chain_name": "Ethereum Sepolia",
  "chain_id": "11155111",
  "organization_id": "700768ae-c71d-42cc-9ff9-13b777d6d379",
  "customer_id": "user_abc123",
  "smart_deposit_address": "0xsda0000000000000000000000000000000123",
  "user_destination_address": "0xuda0000000000000000000000000000000000456",
  "distributor_code_depositor_address": "0xdcd0000000000000000000000000000000123",
  "vault_address": "0xvlt0000000000000000000000000000000999",
  "input_token_symbol": "USDC",
  "input_token_address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
  "input_token_decimals": 6,
  "received_amount": "10000000",
  "forward_tx_hash": null,
  "forward_tx_block_hash": null,
  "error": "Vault cap reached"
}
```

### Event-Specific Fields

| Field                   | Type             | Description                                                                                                      |
| ----------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------- |
| `received_amount`       | `string`         | Amount received in the token's smallest unit.                                                                    |
| `forward_tx_hash`       | `string \| null` | Transaction hash of the forward attempt. `null` if the transaction was never sent.                               |
| `forward_tx_block_hash` | `string \| null` | Block hash of the forward attempt. `null` if the transaction was never sent.                                     |
| `error`                 | `string`         | Human-readable error describing why the deposit failed (e.g., vault cap reached, predicate failure, out of gas). |
