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

# Payout Approval Required

> Webhook event fired when a new payout must be approved by your team before it is sent

> [!NOTE]
>
> **Event Name:** `payout_approval_required`

> [!NOTE]
>
> The payout matches one of your approval policies and is on hold until your team approves it. Funds are reserved in the source wallet, and nothing has been sent yet.

This event is sent once, when the payout is created (or after its OTP is validated, when OTP is required). The `approval` block lists the steps the payout needs and the deadline for completing them. See [Payout approvals](https://doc.raliopay.com/custom-api-reference/payouts/payout-approvals.md) for the full flow.

Intermediate approvals don't send a webhook. The next event for this payout is `payout_approved`, `payout_rejected`, `payout_expired` or `payout_canceled`.

## Event Payload

The webhook payload contains the following structure:

```json Example Payload - bankPayout theme={null}
{
  "eventId": "7b2c9e41-5d3a-4f6b-9a1e-2c8d4f6a1b37",
  "eventType": "payout_approval_required",
  "timestamp": "2026-10-20T10:30:00.000Z",
  "data": {
    "status": "PENDING_APPROVAL",
    "payoutType": "bankPayout",
    "orderId": "00c32e47-245d-45f0-94f1-3f77eda656be",
    "ownReference": "Merchant internal reference for reconciliation",
    "source": {
      "type": "account",
      "debitedAccountId": "a5a03fd6-eacc-48ee-b8f6-67267b4095ab",
      "debitedUserId": "15c5277a-8c8c-41d2-9f42-66f82f6f113d"
    },
    "destination": {
      "type": "bankAccount",
      "routingType": "SWIFT",
      "accountNumber": "1234567890",
      "bankWireRef": "TX1751382490165317",
      "swift": "CHASUS33XXX",
      "beneficiary": {
        "type": "BUSINESS",
        "name": "John",
        "surname": "Doe",
        "relation": "MYSELF",
        "document": {
          "type": "PASSPORT",
          "number": "X12345678"
        },
        "contact": {
          "email": "john@mail.com",
          "phone": "+12125551234"
        },
        "address": {
          "line1": "350 Fifth Avenue",
          "postalCode": "10118",
          "province": "NY",
          "city": "New York",
          "country": "US"
        }
      }
    },
    "amounts": {
      "debitedAmount": {
        "amount": 10000,
        "currency": "EUR"
      },
      "fees": {
        "currency": "EUR",
        "total": 100,
        "breakdown": {
          "systemFee": 60,
          "merchantFee": 40
        }
      },
      "amountAfterFees": {
        "amount": 9900,
        "currency": "EUR"
      },
      "fx": {
        "pair": "EUR/USD",
        "rate": "1.0909090909"
      },
      "creditedAmount": {
        "amount": 10800,
        "currency": "USD"
      }
    },
    "approval": {
      "expiresAt": "2026-10-27T10:30:00Z",
      "progress": {
        "approvedSteps": 0,
        "steps": 2
      },
      "steps": [
        {
          "number": 1,
          "approved": false,
          "approvedAt": null
        },
        {
          "number": 2,
          "approved": false,
          "approvedAt": null
        }
      ],
      "rejection": null
    }
  }
}
```

```json Example Payload - cryptoPayout theme={null}
{
  "eventId": "3e8f1a27-9c4b-4d2e-8f6a-1b7c3d5e9a42",
  "eventType": "payout_approval_required",
  "timestamp": "2026-10-20T10:32:00.000Z",
  "data": {
    "status": "PENDING_APPROVAL",
    "payoutType": "cryptoPayout",
    "orderId": "6fc5042e-1984-43e7-a2d3-2f0215dba030",
    "ownReference": "Merchant internal reference for reconciliation",
    "source": {
      "type": "account",
      "debitedAccountId": "8befb505-7f8c-4a72-85a5-e7cbc9719ba8",
      "debitedUserId": "15c5277a-8c8c-41d2-9f42-66f82f6f113d"
    },
    "destination": {
      "type": "cryptoAccount",
      "address": "5xoBq7f7CDgZwqHrDBdRWM84ExRetg4gZq3jX1xhk2yz",
      "network": "SOLANA"
    },
    "amounts": {
      "debitedAmount": {
        "amount": 10000,
        "currency": "EUR"
      },
      "fees": {
        "currency": "EUR",
        "total": 100,
        "breakdown": {
          "systemFee": 60,
          "merchantFee": 40
        }
      },
      "amountAfterFees": {
        "amount": 9900,
        "currency": "EUR"
      },
      "fx": {
        "pair": "EUR/USDC",
        "rate": "1.0909090909"
      },
      "creditedAmount": {
        "amount": 10800,
        "currency": "USDC"
      }
    },
    "approval": {
      "expiresAt": "2026-10-27T10:32:00Z",
      "progress": {
        "approvedSteps": 0,
        "steps": 1
      },
      "steps": [
        {
          "number": 1,
          "approved": false,
          "approvedAt": null
        }
      ],
      "rejection": null
    }
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.