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

# Payments

> Making payments and transfers in Grid

# Payments

Grid enables secure and controlled payments through an intent-based architecture. All outgoing payments require explicit authorization from the smart account's authorities.

## Payment Flow

```mermaid theme={null}
sequenceDiagram
    participant Client
    participant Grid
    participant Authority
    participant Ledger (Solana)

    Client->>Grid: POST /payment-intents
    Note over Client,Grid: Create payment intent
    Grid-->>Client: Return intent details

    Client->>Authority: Request authorization
    Note over Client,Authority: Sign intent with authority
    Authority-->>Client: Return signature

    Client->>Grid: POST /payment-intents/{id}/confirm
    Note over Client,Grid: Submit signed intent
    Grid->>Ledger (Solana): Execute transaction
    Grid-->>Client: Confirm execution
```

## Payment Types

Grid supports various types of payments:

### Outgoing Transfers

* To external bank accounts
* To other smart accounts
* To blockchain addresses

### Supported Payment Rails

For a comprehensive list of supported payment rails and currencies, see [Supported Currencies and Rails](/grid/v0/modules/core/supported-currencies).

### Supported Currencies

For a complete list of supported currencies, see [Supported Currencies and Rails](/grid/v0/modules/core/supported-currencies).

## Payment Intents

Payment intents represent a desired payment operation that requires authorization. Each intent includes:

* Amount and currency
* Source and destination
* Payment rail
* Optional memo
* Webhook URL for notifications

## Authorization Requirements

Payment intents require authorization based on the smart account's policies:

1. **Initiation**: Authorities with `CAN_INITIATE` permission
2. **Approval**: Authorities with `CAN_VOTE` permission
3. **Execution**: Authorities with `CAN_EXECUTE` permission

## Monitoring Payments

You can monitor payment status through:

```bash theme={null}
GET /smart-accounts/{address}/payment-intents
```

Filter by:

* Payment rail
* Status
* Currency
* Date range
* Transaction hash

## API Reference

For detailed API specifications, see:

* [Create Payment Intent](/grid/v0/api-reference/endpoint/core/create-payment-intent)
* [Confirm Payment Intent](/grid/v0/api-reference/endpoint/core/confirm-payment-intent)
