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

# ReceiverCondition

> Singleton condition that restricts operator actions to the payment receiver address

## Overview

ReceiverCondition is a singleton condition that restricts an action to the payment's receiver address.

**Type:** Singleton, CREATE2 (deployed once, reused by all operators)

**Address (all supported chains):** `0x321651df4593DA57C413579c5b611D1A90168a3A`

## Logic

```solidity theme={null}
function check(PaymentInfo calldata payment, uint256, address caller, bytes calldata)
    external pure returns (bool)
{
    return caller == payment.receiver;
}
```

The condition compares `caller` against `payment.receiver`, pure computation with no storage reads.

## When to Use

| Slot                           | Use Case                                       |
| ------------------------------ | ---------------------------------------------- |
| `CAPTURE_PRE_ACTION_CONDITION` | Let receiver capture funds after escrow        |
| `CHARGE_PRE_ACTION_CONDITION`  | Let receiver charge partial amounts            |
| `VOID_PRE_ACTION_CONDITION`    | Let receiver issue refunds at their discretion |

<Note>
  For capture, ReceiverCondition is often composed with [EscrowPeriod](/contracts/conditions/escrow-period) via [AndCondition](/contracts/conditions/combinators) to ensure the escrow window has passed before the receiver can capture.
</Note>

## Gas

**Cost:** Minimal, `pure` function with no storage reads.

## Next Steps

<CardGroup cols={2}>
  <Card title="PayerCondition" icon="user" href="/contracts/conditions/payer">
    Restrict actions to the payment payer.
  </Card>

  <Card title="EscrowPeriod" icon="clock" href="/contracts/conditions/escrow-period">
    Add time-based capture restrictions.
  </Card>
</CardGroup>
