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

# Pay by Bank: account-to-account payments

> Introduction to Straddle's unified Pay by Bank API for ACH and account-to-account payments, including verification, paykeys, and multi-rail processing.

Pay by Bank is Straddle's core product, providing a unified API for account-to-account payments. It combines identity verification, open banking connectivity, and payment processing to offer developers a streamlined solution for implementing secure and efficient payment flows.

## Technical Components

Pay by Bank consists of three main components:

<CardGroup cols={3}>
  <Card title="Identity" icon="user" href="/guides/identity/overview">
    Graph-based identity engine for real-time verification
  </Card>

  <Card title="Bridge" icon="building-columns" href="/guides/bridge/overview">
    Open banking connectivity suite for account linking and paykey generation
  </Card>

  <Card title="Payments" icon="money-bill" href="/guides/payments/overview">
    Send or receive payments directly from any bank account
  </Card>
</CardGroup>

## Key Features for Developers

* **Unified API**: Single integration point for identity, open banking, and payments
* **Real-time Identity Verification**: Sub-second customer onboarding, no selfies required
* **Bank Account Connectivity**: Connect to 90%+ of US bank accounts with our Bridge SDK or bring your own token
* **Fraud Prevention**: Built-in transaction monitoring
* **Multi-rail Orchestration**: Optimize for speed across ACH, RTP, and FedNow (coming soon)
* **Webhook Support**: Real-time notifications for asynchronous events
  <Tip>
    **Bridge also supports bank routing and account numbers** \
    \
    This feature is particularly useful for existing customers or in situations where an open-banking connection isn't possible.
  </Tip>

## Integration Overview

Implementing Pay by Bank involves interacting with three primary API endpoints:

1. **Customers API**: Manage customers with Straddle ID built-in
2. **Bridge API**: Handle bank account connections and paykey generation
3. **Payments API**: Initiate and manage payment transactions across multiple rails

## Implementation Workflow

<Steps>
  <Step title="Customer Onboarding">
    Use the Customers API to create and verify customer identities.
  </Step>

  <Step title="Open Banking">
    Implement the Bridge API to securely link customer bank accounts and generate Paykeys.
  </Step>

  <Step title="Payment Processing">
    Utilize the Payments API with generated paykeys to initiate and manage transactions.
  </Step>

  <Step title="Webhook Handling">
    Set up webhook endpoints to receive real-time updates on transaction statuses and other events.
  </Step>
</Steps>

For detailed information on request/response formats, parameters, and endpoint-specific functionality, refer to our comprehensive API reference:

* [Customers API Reference](/api-reference/customers)
* [Bridge API Reference](/api-reference/bridge)
* [Payments API Reference](/api-reference/payments)

<Note>
  We're just getting started with this guide. Keep reading to learn a *whole lot more*. Or skip to the end and start coding.
</Note>
