Both USDT and USDC are supported for PHP offramp.
1
Create User
user_id — every subsequent call needs it as the X-User-Id header.2
KYC
PHP supports two KYC methods:Headers: Response:Saber may request supporting KYC documents at any time — these must be shared within 72 hours of the request.
- KYC Sharing
- KYC Widget
X-User-Id: <user_id>3
Bank Account Linkage
First, fetch the list of supported banks and their codes. This lookup only works for Headers: For the Philippines,
PHL — it returns an error for any other country:data is a flat map of bank name to bank_code — pass the code as-is into bank_code below.X-User-Id: <user_id>account_number (no spaces) and account_holder_name are required, plus at least one of bank_code or swift_code; bank_name is accepted alongside them.Response:created_at/updated_at here are ISO 8601 date strings — unlike wallet-transaction endpoints, which use epoch milliseconds. Save bank_id for the sell step.Unlike India, PHP bank accounts are approved instantly — there’s no penny-drop step.
A user can have up to 4
APPROVED bank accounts at any point in time (error 304012 when exceeded).4
Transaction
Min ₱60 (~$1) per transaction; max depends on the user’s assigned limits (see User Limits & EDD below).
payment_method: bank_transfer resolves internally to one of:- InstaPay — for amounts up to ₱50,000. Instant, no cut-offs. Banking fee: ₱8.
- SwiftPay PESONet — for amounts above ₱50,000. T+1 settlement on working days. Banking fee: ₱4.
quote_id in the sell request):- Pool Sell (recommended)
- External Sell
Get an informational quote:Then create the sell:Response:
Checking status
Example status responses
Example status responses
Pool Sell:External Sell: