> ## 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">
    Use 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>


## Related topics

- [Bank Account Verification Requirements](/help/Payment-Compliance/account-validation.md)
- [Straddle platform glossary](/guides/glossary.md)
- [Glossary of ACH and Straddle terms](/help/Reference-Materials/glossary.md)
- [Plaid integration for ACH payments](/integrations/open-banking/plaid.md)
- [Quiltt integration for ACH payments](/integrations/open-banking/quiltt.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.