Skip to content

GBKS/pave-protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pave

Pave is an open protocol that lets any Bitcoin wallet pay fiat destinations — mobile money numbers, bank accounts, bills — by routing through local payment services that handle the fiat rails.

The wallet pays a Lightning invoice. The service handles everything else: FX conversion, fiat disbursement, local compliance. No identity exchange, no server required on the wallet side.


Pave user flow


How it works

  1. User configures a service endpoint (e.g. https://tando.me)
  2. User enters a fiat destination (e.g. a Kenyan M-Pesa number)
  3. Wallet requests a quote — gets back a Lightning invoice with a locked rate
  4. Wallet pays the invoice
  5. Service disburses fiat to the destination

The wallet never holds or transmits fiat. Its regulatory position is identical to any other Lightning wallet — it pays satoshis. The service is responsible for everything on the fiat side, including compliance with local regulations.


For service operators

Implementing Pave means any Pave-enabled wallet can route payments through you. Three endpoints, simple JSON, no changes to your existing infrastructure or compliance setup.

GET  /.well-known/pave.json
POST /pave/v1/quote
GET  /pave/v1/payment/{id}

A quote request looks like this:

{
  "fiat_amount": 1200,
  "currency": "KES",
  "destination_type": "mpesa_phone",
  "destination": "254712345678"
}

You respond with a Lightning invoice. The wallet pays it. You disburse the fiat.


For wallet developers

Your wallet becomes capable of paying fiat destinations anywhere a Pave service exists — M-Pesa in Kenya, bank transfers in Nigeria, PIX in Brazil, UPI in India, and more. No regulatory obligations on your side, no server to run.

Users configure services themselves, or you ship a curated list. The wallet detects supported destination types automatically from each service's discovery response.

Instead of creating custom integrations with each service, all parties speak the same language and can easily plug-and-play.

Pave integration diagram


Protocol spec

The full specification is in SPEC.md.


Status

Pave v0.1 is an initial draft, open for comment. If you operate a bitcoin-to-fiat payment service and are interested in implementing Pave, or if you are building a wallet and want to discuss integration, open an issue or reach out directly.

Published under the MIT License.

About

Pave Protocol

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors