Invoice tracking

Match every payment
to the right invoice.

Choose how CPTPayment identifies incoming blockchain payments, associates them with an invoice, and tracks the state through completion.

Incoming payment0.0102 BTC
CPTPaymentMatch by wallet, amount & rules
Invoice #002✓ Matched
PartialPaidOverpaid
Clear associationKnow which invoice a payment belongs to.
Explicit payment statesTrack amount and confirmation separately.
Still non-custodialMatching never means holding funds.

Matching modes

Basic, Advanced, or Hybrid.

The right mode depends on how your wallets create addresses and how much payment-state detail your workflow needs.

Basic

Exact-amount matching

Connect incoming payments to open invoices by their requested amount.

Invoice #0010.0154 BTC
Invoice #0020.0102 BTC
Invoice #0030.0211 BTC
↓ Incoming 0.0102 BTC✓ Invoice #002 matched
  • Simple wallet setup
  • Best when invoice amounts stay distinct
  • Minimal reservation logic

Advanced

Reservation-based tracking

Associate a payment with an intended invoice before tracking partial, paid, and overpaid amounts.

WalletReserved invoicePartial / Paid / Overpaid
  • Richer invoice association
  • Explicit amount states
  • Supports UTXO and non-UTXO behavior

Hybrid

Combine both approaches

Keep advanced tracking across your setup while one selected wallet uses basic matching.

Tracked walletsAdvanced
Selected walletBasic
UTXO walletsAdvanced
  • Useful for mixed wallet setups
  • Preserves an exact-amount path
  • Advanced behavior everywhere else

Wallet behavior

Why UTXO and non-UTXO flows differ.

The matching mode reflects what a wallet can reserve or derive—not a difference in who controls the money.

Non-UTXO wallets

Reserve the active invoice.

A wallet can associate its active receiving flow with one intended invoice, then track the incoming amount against that reservation.

  • One reserved invoice per configured flow
  • Partial, paid, and overpaid tracking
  • Reservation can be released or completed
WalletInvoice #1042 reservedPayment status tracked

UTXO wallets

Create multiple invoices.

Address behavior allows the wallet to support multiple or effectively infinite invoice requests while keeping each payment identifiable.

  • Multiple concurrent invoices
  • Separate destination details per request
  • Partial, paid, and overpaid tracking
UTXO walletInvoice #1042Invoice #1043Invoice #1044…more invoicesEach status tracked

Two separate signals

Amount status and confirmation status.

CPTPayment keeps these concepts separate so your application can respond to the right condition.

Payment amount

Was the requested amount received?

PartialLess than requestedOverpaidMore than requested
Confirmation status

How final is the blockchain payment?

PendingDetected, not yet confirmedConfirmingProgressing on-chainConfirmedRequirement reached

Configuration guide

Choose a mode with confidence.

Start with the wallet model and operational behavior you need. You can keep the public payment experience simple while configuring richer rules underneath.

Review tracking questions
  1. 1

    Identify the wallet modelConfirm whether each receiving wallet is UTXO or non-UTXO.

  2. 2

    Choose the matching behaviorSelect Basic, Advanced, or Hybrid for the intended workflow.

  3. 3

    Set payment-state rulesDefine how partial and overpaid amounts should be handled.

  4. 4

    Set confirmation requirementsChoose when a detected payment becomes confirmed for your workflow.

  5. 5

    Test before publishingRun representative payments and verify every resulting state.

Questions

Payment tracking

Does matching move or hold the payment?+

No. Matching associates blockchain activity with an invoice; funds still move directly between wallets.

Can a UTXO wallet create multiple invoices?+

Yes. Advanced behavior supports multiple or effectively infinite invoice requests while tracking their individual states.

What is the difference between Paid and Confirmed?+

Paid describes the amount received. Confirmed describes whether the configured blockchain confirmation requirement has been reached.

When should I use Hybrid mode?+

Use Hybrid when most wallets need Advanced behavior but one selected wallet should keep Basic exact-amount matching.

Can matching behavior be tested first?+

Yes. Test each amount and confirmation outcome before applying the configuration to a live workflow.

Ready to configure

Track the payment state your workflow needs.

Choose a matching mode, connect your wallet behavior, and test the complete invoice lifecycle.

Configure tracking