## Everything you need to understand, build, and launch with Dwolla.

Start with foundational concepts, move into quickstarts and use cases, and keep API reference and SDKs close at hand when you need them.

### What is Dwolla

Platform overview, core components, and how Dwolla fits into your payment architecture.

### Customer Types

Unverified, verified, and receive-only customer models. Choose before you design onboarding.

### Quickstart

Authenticate and make your first API call in under 5 minutes.

### Sandbox Testing

Simulate transfers, trigger events, and test failure scenarios before going live.

## Full content index

29 pages across 7 groups

### Getting Started

4 pages

### Funds Flows

4 pages

### Customers

2 pages

### Funding Sources

4 pages

### Transfers

6 pages

### Integrations

6 pages

### Webhooks

3 pages

### API Reference

[Full API reference](https://developers.dwolla.com/docs/api-reference)

Explore endpoints, request formats, and response examples for every Dwolla resource.

### Install an SDK

Get started with an official Dwolla SDK in minutes.

- TypeScript
- PHP
- Python
- C#
- Ruby

```
$ npm install dwolla
```

```
import { Dwolla } from "dwolla";

const dwolla = new Dwolla({
  security: {
    clientID: process.env.DWOLLA_CLIENT_ID,
    clientSecret: process.env.DWOLLA_CLIENT_SECRET,
  },
  server: "sandbox",
});
```

```
composer require "dwolla/dwolla-php"
```

```
use Dwolla;
use Dwolla\Models\Components;

$sdk = Dwolla\Dwolla::builder()
    ->setSecurity(
        new Components\Security(
            clientID: 'YOUR_CLIENT_ID',
            clientSecret: 'YOUR_CLIENT_SECRET',
        )
    )
    ->build();
```

```
pip install dwollav2
```

```
import dwollav2

client = dwollav2.Client(
  key=os.environ["DWOLLA_APP_KEY"],
  secret=os.environ["DWOLLA_APP_SECRET"],
  environment="sandbox",
)
```

```
$ Install-Package Dwolla.Client -Version 6.0.1
```

```
var client = DwollaClient.Create(isSandbox: true);

var tokenRes = await client.PostAuthAsync<AppTokenRequest, TokenResponse>(
 new Uri($"{client.AuthBaseAddress}/token"),
 new AppTokenRequest {Key = "...", Secret = "..."});
```

```
$ gem install dwolla_v2
```

```
require "dwolla_v2"

client = DwollaV2::Client.new(
  key: ENV["DWOLLA_APP_KEY"],
  secret: ENV["DWOLLA_APP_SECRET"],
  environment: :sandbox
)
```

[SDK documentation](https://developers.dwolla.com/docs/sdks-tools) [Postman collection](https://developers.dwolla.com/docs/sdks-tools#tools)
