Getting Started

How to integrate and authenticate with the Pay.so Core service.

Onboarding a User

Below is a step-by-step overview on how to register a user and complete their first crypto-to-fiat payment.

  1. Collect user details and create the User object in Core. Have them sign the usage agreement.

  2. Create a KYC Session and ask the user to follow and complete the onboarding URL.

  3. Wait for a webhook to arrive confirming the user has been approved. (Note: in sandbox you can manually update their approval status via our special moves endpoints).

Performing an Offramp

  1. Collect the details of the recipient bank account and create a Payment Detail object.

  2. Create a Quote. This object will update after you complete step 3 to tell you how much crypto to send and where.

  3. Create Offramp objects that tell us which bank accounts we should send fiat to once your Quote is executed.

  4. Execute your Quote to begin the fiat processing.

  5. Await webhook with updates regarding the progress of each Offramp.

Performing an Onramp

  1. Create an Onramp on behalf of the User and specify what address you would like to receive crypto to.

  2. Transfer the fiat to the bank details provided in the previous step.

  3. Await webhook with updates regarding the progress of the Onramp.

Base URL

The base URL is where our API is hosted. While you are developing we recommend using our sandbox (staging) domain before switching onto production. Throughout our documentation it will be referred to as {{base_url}}

Sandbox Base URL

https://core-api-staging.pay.so/v1

Production Base URL

https://core-api.pay.so/v1

Postman

We can offer a Postman collection bespoke to your organisation upon request. It will contain all the API requests listed in these docs along with inbuilt Authentication with your API key.

Last updated