Skip to content

core-laboratories/payto

Repository files navigation

PayTo Money

Decentralized Asset Transfer

The 'payto' URI scheme builder supports payments as outlined in RFC 8905 and subsequent amendments.

Technical Specifications and Organizational Notes

PayTo Libraries

TypeScript / JavaScript:

Project Initialization

If you're reading this, you've likely already initialized your project. Congratulations!

# To create a new project in the current directory
npm create svelte@latest

# To create a new project in the 'my-app' directory
npm create svelte@latest my-app

Development

After initializing your project and installing the necessary dependencies with npm install (or pnpm install or yarn), you can start a development server:

npm run dev

# To start the server and open the app in a new browser tab
npm run dev -- --open

Building

To create a production version of your app:

npm run build

You can preview the production build using:

npm run preview

For deploying your app, you may need to install an adapter suited to your target environment.

Pro Features

You can see the Pro plans for more information.

To customize the Pass, you can become the authority of your own Pass. Each authority has a maximum pass validity of 3 years instead of 1 year.

Issuing authorities1 deliver an object like this example to the email: sales@payto.money

{
    "id": "payto",
    "name": "PayTo",
    "identifier": "pass.money.payto",
    "url": "https://payto.money",
    "icons": {
        "icon": "https://payto.money/icons/icon.png",
        "icon2x": "https://payto.money/icons/icon@2x.png",
        "icon3x": "https://payto.money/icons/icon@3x.png",
        "logo": "https://payto.money/icons/logo.png",
        "logo2x": "https://payto.money/icons/logo@2x.png"
    },
    "theme": {
        "colorB": "#77bc65",
        "colorF": "#192a14",
        "colorTxt": "#192a14"
    },
    "forceTheme": false,
    "customCurrencyData": {
        "XCB": {
            "symbol": "",
            "narrowSymbol": "",
            "code": "XCB",
            "name": "CoreCoin",
            "defaultDecimals": 2
        }
    },
    "currencyLocale": "en-US"
}

Where:

  • id: The authority ID of the Pass. (Required, unique, lowercase, no spaces)
  • name: The organization name of the Pass. If set, it is forced on the Pass. (Default: PayTo)
  • identifier: The identifier of the Pass. (Required, unique, lowercase - reverse DNS example: pass.money.payto)
  • url: The URL of the Pass. (Default: none)
  • icons: The icons of the Pass. (Default: PayTo logo)
  • theme: The theme of the Pass. (Default: PayTo theme)
  • forceTheme: Whether to force the theme if the user has set their own. (Default: false)
  • customCurrencyData: The custom currency data of the Pass. (Default: none)
  • currencyLocale: The currency locale of the Pass. (Default: undefined - autodetect)

After successfully registering the authority, you need to append the authority parameter to the URL:

https://payto.money?authority={id}

License

This project is licensed under the CORE License.

Funding

If you find this project useful, please consider supporting it:

List of sponsors: GitHub Sponsors

Footnotes

  1. Available for the Business plan.

About

Decentralized transfer of Assets

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6