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

# Track a payout

A payout completes in two steps: an on-chain transfer from the wallet, then fiat settlement at the provider. Both appear in the action's `steps` array, so a `confirmed` on-chain step alongside a pending external step means the crypto has been sent and the bank transfer is still in flight.

Read the current state with `GET /v1/wallets/{wallet_id}/actions/{action_id}`, or subscribe to [wallet action webhooks](/wallets/actions/webhooks):

| Event                            | Fires when                                                                |
| -------------------------------- | ------------------------------------------------------------------------- |
| `wallet_action.payout.created`   | The payout is created and queued.                                         |
| `wallet_action.payout.succeeded` | The fiat has settled to the bank account.                                 |
| `wallet_action.payout.rejected`  | The payout was rejected before the on-chain transfer was broadcast.       |
| `wallet_action.payout.failed`    | The payout failed after the crypto was sent, such as a failed settlement. |

Payload fields include `provider`, `environment`, `source_asset`, `source_chain`, `source_amount`, `destination_fiat_account_id`, `destination_currency`, and `destination_payment_rail`, alongside the standard wallet action fields, plus `failure_reason` on the terminal failure events.

## Next steps

<CardGroup cols={2}>
  <Card title="Wallet action webhooks" icon="webhook" href="/wallets/actions/webhooks">
    Track payouts and other wallet actions in real time
  </Card>

  <Card title="Bank deposits" icon="building-columns" href="/wallets/funding/bank-deposits/overview">
    Fund a wallet with fiat through a dedicated bank account
  </Card>
</CardGroup>
