Skip to main content
OP Open Payment Address Protocol
Local-first with no tracking

Set up a payment address

Create an OPID

An Open Payment Address (OPID) is a canonical HTTPS URL people can use to pay you.

    What you need

    A stable HTTPS URL on a website you control, somewhere to receive payments, and permission to publish a file at the derived record URL. This page does not upload your details.

    01 / RECEIVE PAYMENTS

    Choose where each payment should go

    02 / CHOOSE A DESTINATION

    A URL you own, or hosting by us

    03 / GO LIVE

    Publish the file yourself, or let the app do it

    Updating an address you already published?

    Load what is published at your OPID and edit it here. The next revision number is worked out for you. Your record is read in this browser and nothing is uploaded.

    Paste the record JSON instead

    Reading your record over the web needs Access-Control-Allow-Origin: * on your host. If it is not set, download or copy the published file and paste it here.

    Configure how people can pay you

    Add payment options in preference order. A payer chooses one compatible option; they never combine options. None of this depends on where the file will live.

    Payment configuration type

    Your ordered options

    Put your strongest settlement preference first. You can add up to 16 options.

    Where should this live?

    Your payment details are the same either way. Only the address they live at, and who publishes it, differ.

    Publication destination

    Use HTTPS. It does not need to point at a webpage. You can use the domain itself or a specific path, such as https://your-domain.org/donate. Do not include a port, query, fragment, or a final slash after a path. The payment file is published separately at the derived record URL shown beside this form.

    Every republish of the same OPID must carry a higher number than the one payers already saw. Loading your published record sets this for you; override it if you are reconciling a record this page could not read.

    This page creates the file in your browser. It does not send your payment details to a server.