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

One address · Several currencies

Receive the currency your payer already uses

A global recipient can put several bank and wallet options behind one payment address. The payer sees the supported choices and picks the one that works for them, without asking for a different address first.

Ways this address can be paid

This example covers bank, token and Bitcoin payment requests. The Browser Payer offers only methods it can represent as a validated URL and QR code.

Currency Payment method What the example uses
EUR Bank transfer Synthetic test IBAN
EUR Monerium EURe Digital-euro payment URL
GBP Monerium GBPe Digital-pound payment URL
USD Monerium USDe Digital-dollar payment URL
ISK Monerium ISKe Digital-króna payment URL
XBT Bitcoin wallet Example Bitcoin address

Safe interactive example

See what the payer sees

See how the payer chooses a currency and payment method. We will fill in the example address for you. You can review the payment steps, but no real money will be sent.

Simulate this payment

Example address: https://openpaymentaddress.org/examples/multi-currency

Ready to make your own? Create a payment address.

Technical details for developers

Published payment file

OPAP Record

Payment apps derive this file’s location from the public payment address, verify it, and use it to present the available payment options. Visitors do not need to read or edit this code.

OPID

https://openpaymentaddress.org/examples/multi-currency
{
  "version": 1,
  "id": "https://openpaymentaddress.org/examples/multi-currency",
  "revision": 2,
  "issued_at": "2026-07-22T18:02:43Z",
  "expires_at": "2030-01-01T00:00:00Z",
  "name": "Global multi-currency receiver demonstration",
  "payment": {
    "type": "options",
    "options": [
      {
        "type": "sepa",
        "currency": "EUR",
        "name": "OPAP global receiver demonstration",
        "iban": "NL96TEST0000000000"
      },
      {
        "type": "erc20",
        "currency": "EUR",
        "chain": "eip155:10200",
        "asset": "0x7a47605930002CC2Cd2c3c408D1F33fc2a18aB71",
        "recipient": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
        "symbol": "EURe"
      },
      {
        "type": "erc20",
        "currency": "GBP",
        "chain": "eip155:10200",
        "asset": "0x436AF2954BB436b6821Ab401112092e14CDBd546",
        "recipient": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
        "symbol": "GBPe"
      },
      {
        "type": "erc20",
        "currency": "USD",
        "chain": "eip155:10200",
        "asset": "0x8bf987c9d041176758FE9C1180885bD4DA011a5a",
        "recipient": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
        "symbol": "USDe"
      },
      {
        "type": "erc20",
        "currency": "ISK",
        "chain": "eip155:10200",
        "asset": "0x7e8E03b84EaCb1798493145Cc4aB9b562563456c",
        "recipient": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
        "symbol": "ISKe"
      },
      {
        "type": "org.openpaymentaddress/bitcoin-onchain-v1",
        "currency": "XBT",
        "data": {
          "address": "3E6vzgEK1VGHpNu9UE89Gjjgqd2ftexvzi"
        }
      }
    ]
  }
}
Open the JSON file