Skip to main content

What are Payouts?

Payouts are outbound disbursements that let you send funds from your pre-funded KillB balance to any beneficiary — bank accounts, crypto wallets, or local payment aliases. They are the simplest way to distribute money at scale: no quotation step, no payment URL, no waiting for end-user action. You hold the balance; KillB routes it to the destination.
Payouts are a B2B feature designed for businesses that need to disburse funds to many recipients (payroll, supplier payments, marketplace settlements, crypto distributions, etc.).

Payouts vs. Ramps

Both payouts and ramps move money, but they serve different purposes:

How It Works

Prerequisites

Every payout requires:
  1. An active pre-funded account — holds the balance to be disbursed
  2. Sufficient balance — equal to or greater than the payout amount
  3. Valid beneficiary details — matching the required fields for the chosen payment rail

Set Up Pre-Funded Accounts

Learn how to create and fund your pre-fund accounts

Payout Lifecycle

FAILED and ERROR during the Cash In phase are terminal — no funds were collected, so no refund is issued. For all later phases (KYT Out, Cash Out), these statuses trigger the refund flow. REJECTED always triggers the refund flow since it only occurs after funds have been collected.

Statuses

Supported Beneficiary Types

Idempotency

To prevent duplicate disbursements, pass a unique Idempotency-Key header on every payout creation request. If the same key is received twice, KillB returns the original payout instead of creating a new one.

FAQs

It depends on which phase the failure occurs in:
  • During Cash In — No funds were collected, so nothing is deducted from your pre-fund balance.
  • After Cash In (KYT Out, Cash Out) — Funds were already collected. The payout transitions to the refund flow (REFUND_PENDINGREFUND_PROCESSINGREFUNDED), returning them to your pre-fund balance.
Each status reflects a different failure origin:
  • ERROR — An internal system error on KillB’s side. No funds were disbursed.
  • FAILED — The disbursement was declined by the beneficiary’s bank due to invalid or incorrect account details provided by the sender.
  • REJECTED — The payout was blocked by a compliance review on KillB’s side. Funds are returned to your pre-fund balance via the refund flow.
A payout enters REVIEW_NEEDED when the KYT Out compliance check flags the transaction for manual review. No action is required on your side — the payout will automatically resume once the review is complete, or transition to REJECTED if blocked.
A payout reaches REFUNDED when FAILED or ERROR occurs after the Cash In phase (KYT Out or Cash Out), or when the payout is REJECTED by compliance. Because funds were already collected, the payout automatically moves through REFUND_PENDINGREFUND_PROCESSINGREFUNDED.If FAILED or ERROR occurs during Cash In, no funds were collected and no refund is issued.
Bank Transfer and BREB transfers typically settle within minutes to a few business hours depending on the bank and cut-off times.
Pass a unique Idempotency-Key header on payout creation requests. If the same key is received twice (e.g., on a retry), KillB returns the original payout instead of creating a duplicate disbursement.

Best Practices

  • Check balance first — always call GET /api/v2/customers/balances before creating a payout to avoid failures due to insufficient funds
  • Use Idempotency-Key — always pass a unique key per disbursement to safely retry without duplicates
  • Subscribe to webhooks — configure PAYOUT event webhooks for real-time status updates instead of polling
  • Monitor REJECTED payouts — log full beneficiary data on rejection so you can identify and fix invalid account details
  • Reconcile daily — pull all payouts from the previous day and compare against your internal ledger

Create a Payout

Step-by-step implementation guide

Status Tracking

Monitor payouts with webhooks and polling

Pre-Funded Accounts

Fund your pre-fund accounts

Webhooks

Real-time event notifications