How it works
Fund your Breet account with stablecoins
Deposit USDT or USDC into your Breet wallet. You can generate a deposit address via the API or fund directly from your dashboard.
Add employee bank details
Collect each employee’s bank account information (account number, bank name) or crypto wallet address. Store these in your payroll system.
Initiate withdrawals
Call the withdraw-to-bank endpoint for each employee. Breet converts the stablecoins to local currency and sends the payout to the employee’s bank account.
Track payout status via webhooks
Breet sends webhook notifications as each withdrawal progresses:
withdrawal.pending, withdrawal.completed, withdrawal.reversed, or withdrawal.rejected.Withdraw to an employee’s bank account
BANK_ACCOUNT_ID with the ID of the employee’s saved bank account. The amount is in USD, and Breet converts it to the employee’s local currency (NGN or GHS) based on their country. The narration is optional (max 32 characters) and appears on the bank statement.
To pay an employee in stablecoins instead, use
POST /payments/withdraw/address with their wallet address and the token amount.What Breet handles
- Converting stablecoins to NGN or GHS at current rates
- Processing bank payouts to employee accounts
- Sending webhook notifications for each withdrawal status change
- Processing crypto-to-wallet withdrawals for employees who prefer stablecoins
What you handle
- Funding your Breet account with sufficient stablecoin balance
- Storing employee bank account details or wallet addresses
- Initiating individual withdrawal requests per employee
- Listening for and processing webhook events to confirm payout status
- Communicating payout confirmations to employees
- Scheduling and automating payroll runs on your preferred cadence
Example user journey
- A remote-first startup employs five contractors across Nigeria and Ghana.
- On the last Friday of the month, the finance team triggers a payroll run from their internal tool.
- The tool calls Breet’s withdraw-to-bank endpoint for each contractor with their bank account ID, amount, and a narration like “March 2026 salary.”
- Breet converts the USDT to NGN or GHS and initiates bank transfers.
- Each contractor receives a
withdrawal.completedwebhook, and the tool marks the payout as confirmed. - Contractors see the funds in their bank accounts within minutes.
- The finance team reviews a summary of all payouts and statuses in their dashboard.
FAQ
Can I pay multiple employees in one batch?
Can I pay multiple employees in one batch?
Breet processes withdrawals individually. To run payroll, make a separate withdrawal request for each employee. You can call the API programmatically in a loop or batch from your payroll system. All requests are processed concurrently on Breet’s side.
Which currencies can employees receive?
Which currencies can employees receive?
Employees with bank accounts in Nigeria receive NGN. Employees in Ghana receive GHS. If an employee prefers stablecoins, use
POST /payments/withdraw/address to send USDT or USDC directly to their crypto wallet.Can I automate payroll runs?
Can I automate payroll runs?
Yes. Since all payouts are made via API, you can call the withdrawal endpoints programmatically on any schedule (weekly, biweekly, or monthly). Integrate with your existing payroll system or build a simple cron job that triggers withdrawals on payday.
How do I track whether a payout was successful?
How do I track whether a payout was successful?
Breet sends webhooks for every withdrawal status change. Listen for
withdrawal.completed to confirm a successful payout, withdrawal.reversed if the bank returned the funds, or withdrawal.rejected if it failed. You can also call GET /payments/withdrawal/{id} to check withdrawal status at any time.