Skip to main content
Bill pay lets your users pay real-world bills, like credit cards, loans, and utilities, directly with crypto. You link the user’s bills once, then pay any of them by settling crypto over the bill_pay rail.

Before you start

Start activation. The consent object records the user accepting the bill pay terms.
If status is activated or already_active, you’re done and bills will sync. If it’s verification_required, run the identity challenge:
1

Start verification

2

Present the questions and submit answers

Show the challenge.questions to the user (they’re multiple choice), then submit their selections.

List bills

Once activated, the user’s bills sync. List them to get balances and due dates:
A bill’s type is one of credit_card, auto_loan, loan, student_loan, mortgage, mobile_phone, utility, or unknown. Only bills with status: "active" can be paid.

Pay a bill

Paying a bill uses the same quote-based flow as an off-ramp, with the bill as the destination and the bill_pay rail:
From there the flow is identical to an off-ramp: fetch the transaction parameters, have the user execute the payment on-chain, and track settlement. See the off-ramp guide for those steps, and use the payment.* webhooks to follow the bill payment to completion.

Remove a bill

Off-ramp

The quote-and-settle flow bill payments build on.

Webhooks

Track bill payments with payment events.