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

Four-way contribution split

Keep contributions together

This protocol demo gives a collaboration project one canonical payment URL. Each contribution has four equal, fixed split legs representing EUR, USD, GBP and Bitcoin destinations.

Four equal demo destinations

The published record fixes four 25% recipient legs. The destination names below are protocol-demo annotations; the addresses and settlement details are synthetic and no payout is executed.

EUR

25%

One fixed split leg

USD

25%

One fixed split leg

GBP

25%

One fixed split leg

Bitcoin

25%

One fixed split leg

Canonical payment URL

https://openpaymentaddress.org/collaboration

A compatible payment app deterministically derives the published payment record from this URL: openpaymentaddress.org/.well-known/open-payment/record/L2NvbGxhYm9yYXRpb24 It verifies that record before presenting the contribution options for this project.

Where the team can use it

Project page

Add it wherever the project explains what it is building.

Supporter update

Include it in a newsletter, announcement or funding update.

Event or campaign

Share the same URL on a poster, slide or QR code.

Try contributing to this project

Want one for your own work? Open the payment-file generator.

The file you put online

The associated OPID record is published at https://openpaymentaddress.org/.well-known/open-payment/record/L2NvbGxhYm9yYXRpb24

This is the actual payment file for this example. A payment app reads it to find out what the address means; people do not have to understand or edit the code.

{
  "version": 1,
  "id": "https://openpaymentaddress.org/collaboration",
  "name": "Four-way contribution split demonstration",
  "payment": {
    "type": "split",
    "execution": {
      "type": "erc20-contract",
      "currency": "EUR",
      "adapter": "org.openpayments/split-v1",
      "chain": "eip155:31337",
      "asset": "0x5FbDB2315678afecb367f032d93F642f64180aa3",
      "contract": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512",
      "config_id": "0x58e4a0f9896f1cb3ee4106f4a2c990f2db05fe6913d664bbbbec8dc2f5948672"
    },
    "recipients": [
      {
        "recipient": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
        "share_ppm": 250000
      },
      {
        "recipient": "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC",
        "share_ppm": 250000
      },
      {
        "recipient": "0x90F79bf6EB2c4f870365E785982E1f101E93b906",
        "share_ppm": 250000
      },
      {
        "recipient": "0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65",
        "share_ppm": 250000
      }
    ]
  },
  "extensions": {
    "org.openpaymentaddress/demo-split-destinations-v1": {
      "purpose": "Protocol demonstration only; not an instruction to send money.",
      "destinations": [
        {
          "label": "EUR",
          "share_ppm": 250000
        },
        {
          "label": "USD",
          "share_ppm": 250000
        },
        {
          "label": "GBP",
          "share_ppm": 250000
        },
        {
          "label": "Bitcoin",
          "share_ppm": 250000
        }
      ]
    }
  }
}
Open the actual JSON file