The Increase connector polls an Increase account and surfaces its US bank accounts, balances, external counterparties, and payments (transfers, ACH credits, wires, checks) to the Connectivity service. It supports the full set of US-bank rails for outbound initiation plus real-time webhook ingest.
Prerequisites#
You need an Increase account and an API key dedicated to Formance with read access to accounts, balances, transfers, and inbound credits, plus write access for the outbound rails you intend to initiate.
For webhooks, the connector creates an EventSubscription at install
time signed with the webhookSharedSecret you supply — Increase signs
every webhook delivery with HMAC-SHA256 using that secret, and the
connector verifies the signature before translating the event.
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 (GET /accounts).FETCH_BALANCES— available + pending balance per account.FETCH_EXTERNAL_ACCOUNTS— counterparties (GET /account_numbers,GET /external_accounts).FETCH_PAYMENTS— transactions, mapped per direction and rail.CREATE_BANK_ACCOUNT— registers an external account on Increase.CREATE_TRANSFER—POST /account_transfersbetween two Increase accounts.CREATE_PAYOUT— ACH credit (POST /ach_transfers), wire (POST /wire_transfers), or check (POST /check_transfers); the rail is selected via thecom.increase.spec/railmetadata key.CREATE_WEBHOOKS+TRANSLATE_WEBHOOKS— provisions anEventSubscriptionand ingestsaccount.*,transaction.*,*_transfer.*events.
Asset model#
Increase is USD-only at the connector level; everything is emitted as
USD/2. Amounts are integer minor units on the wire.
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 |
For ACH credits, the connector folds the return window into the
PENDING → SUCCEEDED transition — until the return window closes, the
payment stays PENDING.
Metadata keys#
Increase-specific fields land 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.
For outbound initiation, set 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#
Increase uses cursor-based pagination (cursor + limit). The
connector persists the latest cursor per stream and resumes on
restart; the engine dedupes by PSPPayment.Reference since Increase
events can replay during webhook backfills.
Known gaps#
- Reverse transfer is not implemented; ACH returns appear as new payment rows linked back to the original via metadata.
- Real-time payments (RTP / FedNow) are not yet exposed — the connector covers ACH, wire, and check today.