The Increase connector polls an Increase account and surfaces US bank accounts, balances, counterparties, and payments (transfers, ACH, wires, checks). It covers the full US-bank rail set for outbound initiation plus real-time webhook ingest.
Prerequisites#
You need an Increase account and an API key with read access to accounts, balances, transfers, and inbound credits, plus write access for the outbound rails you initiate.
For webhooks, the connector creates an EventSubscription at install signed with the webhookSharedSecret you supply; Increase signs every delivery HMAC-SHA256 and the connector verifies before translating.
Make sure to create an API key dedicated to Formance. Doing so will improve your auditability and security and will allow you to revoke access to Formance at any time if needed.
Installation#
curl -X POST $FORMANCE_API_URL/api/payments/v3/connectors/install/increase \
-H "Content-Type: application/json" \
-d @config.jsonConfiguration fields#
| Field | Type | Required | Default |
|---|---|---|---|
apiKey | string | Yes | |
endpoint | string | Yes | |
pageSize | integer | No | 25 |
pollingPeriod | string | No | 30m |
webhookSharedSecret | string | Yes |
endpoint is https://api.increase.com for production,
https://sandbox.increase.com for sandbox.
Capabilities#
FETCH_ACCOUNTS— internal accounts viaGET /accounts.FETCH_BALANCES— available + pending balance per account.FETCH_EXTERNAL_ACCOUNTS— counterparties viaGET /account_numbersandGET /external_accounts.FETCH_PAYMENTS— transactions, classified per direction and rail.CREATE_BANK_ACCOUNT— registers an external account on Increase.CREATE_TRANSFER—POST /account_transfersbetween two Increase accounts.CREATE_PAYOUT— ACH (POST /ach_transfers), wire (POST /wire_transfers), or check (POST /check_transfers); rail selected viacom.increase.spec/rail.CREATE_WEBHOOKS+TRANSLATE_WEBHOOKS—EventSubscriptioningestingaccount.*,transaction.*,*_transfer.*.
Account model#
Every Connectivity internal account is one Increase account from GET /accounts. The reference is the account ID; name is the account name; defaultAsset is USD/2 (Increase is USD-only). EXTERNAL accounts come from /account_numbers and /external_accounts; v3CreateBankAccount registers new ones. See Accounts for the cross-connector model.
Asset model#
USD-only — every balance and payment is USD/2. Amounts are already in minor units.
Status mapping#
Increase status (per rail) | Payment status |
|---|---|
pending_approval, pending_submission, submitted, pending_mailing (check) | PENDING |
complete, posted, mailed | SUCCEEDED |
returned, rejected, failed | FAILED |
canceled | CANCELLED |
ACH credits stay PENDING until the return window closes — the connector folds it into the PENDING → SUCCEEDED transition.
Metadata keys#
Under com.increase.spec/:
- Account:
account_id,account_number,routing_number,account_type,bank(Increase's underlying program bank). - External account:
account_number_idorexternal_account_id,account_number_last4,routing_number,funding. - Payment:
transaction_idor*_transfer_id,rail(ach/wire/check/book),description,idempotency_key,network_response_code.
Outbound initiation requires the rail on the PaymentInitiation metadata:
{
"metadata": {
"com.increase.spec/rail": "ach",
"com.increase.spec/standard_entry_class_code": "PPD"
}
}Workflow tree#
FetchAccounts (periodic)
├── FetchBalances (periodic) — per account
└── FetchPayments (periodic) — per account, per rail
FetchExternalAccounts (periodic)
CreateBankAccount / CreateTransfer / CreatePayout (event-driven)
└── PollTransferStatus / PollPayoutStatus until terminal
CreateWebhooks (one-shot at install)Pagination and recovery#
Cursor-based (cursor + limit). The connector persists the latest cursor per stream and resumes on restart; the engine dedupes by PSPPayment.Reference since Increase replays events during webhook backfills.
Known gaps#
- Reverse transfer is not implemented; ACH returns appear as new payment rows linked via metadata.
- Real-time payments (RTP / FedNow) are not exposed — connector covers ACH, wire, and check.