Validator and node services
You already read the ledger. Bill from the same place.
Operators running services on Canton have the hardest part solved already: a participant that sees everything they are party to. What is missing is the ask, and the record that ties a payment to it.
The infrastructure is already yours
The invoice and the payment live in different worlds, and you are the bridge.
Fees get agreed in a message, invoiced in a spreadsheet, paid on chain, and joined together by hand at the end of the month. The operator is usually the only person who can do that join, and it is the least interesting hour of their week.
Read the stream you already have
No new service to run, no inbound endpoint to expose, no provider account. Observe turns updates from the participant your other tooling already reads into records.
Several services, one outstanding list
A signing service and a data service billed to different customers produce the same kind of record. What is owed, by whom, in which asset, becomes one query rather than several spreadsheets.
Each period is its own request
A monthly fee is a new request each month, with its own identifier and its own record. There is no standing authority to revoke and nothing that keeps charging after a customer leaves.
You can prove what was paid, precisely
Because every settlement you are party to lands in your own records with its identifier, a disagreement about a fee is settled by a lookup rather than a search through history.
How it works
Bill, watch, close.
01
Bill
- Build a request per customer, per period
- Send it however you already reach them
- Keep the identifier next to your own reference
02
Watch
- Observe turns each settlement you are party to into a record
- Payments carrying an identifier match themselves
- Payments without one are reported, not dropped
03
Close
- Readiness per customer, per asset
- Exceptions surface with a reason attached
- Keep the records when the period ends
How to start
Bill one customer this way.
One request, one settlement, one record, and see whether the month end hour disappears. This situation uses Request, Observe and Reconcile.
npm i @payvol/core @payvol/qr version 0.4.0
Payvol Request Payvol Observe Payvol Reconcile Open the app Next: Marketplace payouts