> For the complete documentation index, see [llms.txt](https://docs.inverter.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.inverter.network/contracts/technical-reference/modules/logic-module/interfaces/ilm_pc_paymentrouter_v1.sol.md).

# ILM\_PC\_PaymentRouter\_v1.sol

[Git Source](https://github.com/InverterNetwork/inverter-contracts/blob/649b450f02fc8b735c128ff0821467e71966c666/src/modules/logicModule/interfaces/ILM_PC_PaymentRouter_v1.sol)

### Functions

#### pushPayment

Adds a new Payment Order.

*Reverts if an argument invalid.*

```solidity
function pushPayment(
    address recipient,
    address paymentToken,
    uint amount,
    uint start,
    uint cliff,
    uint end
) external;
```

**Parameters**

| Name           | Type      | Description                                             |
| -------------- | --------- | ------------------------------------------------------- |
| `recipient`    | `address` | The address that will receive the payment.              |
| `paymentToken` | `address` | The token in which to pay.                              |
| `amount`       | `uint256` | The amount of tokens the payment consists of.           |
| `start`        | `uint256` | The timestamp at which the payment SHOULD be fulfilled. |
| `cliff`        | `uint256` | The duration of the payment cliff.                      |
| `end`          | `uint256` | The timestamp at which the payment SHOULD be fulfilled. |

#### pushPaymentBatched

Adds multiple Payment Orders in one batch. These PaymentOrders will share start, cliff and end timestamps.

*Reverts if an argument invalid. The number of orders to be added in one batch is capped at 255.*

```solidity
function pushPaymentBatched(
    uint8 numOfOrders,
    address[] calldata recipients,
    address[] calldata paymentTokens,
    uint[] calldata amounts,
    uint start,
    uint cliff,
    uint end
) external;
```

**Parameters**

| Name            | Type        | Description                                               |
| --------------- | ----------- | --------------------------------------------------------- |
| `numOfOrders`   | `uint8`     | The number of orders to add.                              |
| `recipients`    | `address[]` | The addresses that will receive the payments.             |
| `paymentTokens` | `address[]` | The tokens in which to pay.                               |
| `amounts`       | `uint256[]` | The amounts of tokens the payments consist of.            |
| `start`         | `uint256`   | The timestamp at which the payments should start.         |
| `cliff`         | `uint256`   | The duration of the payment cliff.                        |
| `end`           | `uint256`   | The timestamps at which the payments SHOULD be fulfilled. |

### Errors

#### Module\_\_LM\_PC\_PaymentRouter\_v1\_\_ArrayLengthMismatch

Given arrays' length mismatch.

```solidity
error Module__LM_PC_PaymentRouter_v1__ArrayLengthMismatch();
```
