Step 1: Create a remitter

Before you can accept a stablecoin payment, you need to create a remitter — the individual or business that will send you USDC. This is required for compliance purposes and ensures that each payment is associated with a known sender.

Make the request

Replace {accountId}, {apiKey}, and {budgetId} with your own values. The requesterIpAddress field is optional — you can replace 127.0.0.1 with the IP address of the end user making the request, or remove the field entirely.

SandboxProduction
Copy
Copied
curl -i -X POST \
  'https://api-sandbox.equalsmoney.com/stablecoins/remitters?accountId={accountId}' \
  -H 'Authorization: ApiKey {apiKey}' \
  -H 'Content-Type: application/json' \
  -d '{
    "budgetId": "{budgetId}",
    "displayName": "John Smith",
    "sourceCurrencyCode": "USDC",
    "destinationCurrencyCode": "USD",
    "details": {
      "type": "INDIVIDUAL",
      "firstName": "John",
      "lastName": "Smith",
      "dateOfBirth": "1990-01-15",
      "emailAddress": "john.smith@example.com",
      "nationality": "GB",
      "residentialAddress": {
        "streetName": "Upper Thames Street",
        "buildingNumber": "68",
        "buildingName": "Vintners Place",
        "postcode": "EC4V 3BJ",
        "city": "London",
        "region": "Greater London",
        "countryCode": "GB"
      }
    },
    "requesterIpAddress": "127.0.0.1"
  }'
Copy
Copied
curl -i -X POST \
  'https://api.equalsmoney.com/stablecoins/remitters?accountId={accountId}' \
  -H 'Authorization: ApiKey {apiKey}' \
  -H 'Content-Type: application/json' \
  -d '{
    "budgetId": "{budgetId}",
    "displayName": "John Smith",
    "sourceCurrencyCode": "USDC",
    "destinationCurrencyCode": "USD",
    "details": {
      "type": "INDIVIDUAL",
      "firstName": "John",
      "lastName": "Smith",
      "dateOfBirth": "1990-01-15",
      "emailAddress": "john.smith@example.com",
      "nationality": "GB",
      "residentialAddress": {
        "streetName": "Upper Thames Street",
        "buildingNumber": "68",
        "buildingName": "Vintners Place",
        "postcode": "EC4V 3BJ",
        "city": "London",
        "region": "Greater London",
        "countryCode": "GB"
      }
    },
    "requesterIpAddress": "127.0.0.1"
  }'

Expected response

If your request is successful, you'll receive a 201 response containing the new remitter's details, including its id. Save this id — you'll need it in the next step to create a payment.

Copy
Copied
{
  "id": "e9293471-5eb3-4dbc-916c-dbaf9e2deefd",
  "accountId": "F50091",
  "budgetId": "775596ae-2624-40af-a9dc-9756110a4a03",
  "status": "OPEN",
  "displayName": "John Smith",
  "sourceCurrencyCode": "USDC",
  "destinationCurrencyCode": "USD",
  "details": {
    "type": "INDIVIDUAL",
    "firstName": "John",
    "lastName": "Smith",
    "dateOfBirth": "1990-01-15",
    "emailAddress": "john.smith@example.com",
    "nationality": "GB",
    "residentialAddress": {
      "streetName": "Upper Thames Street",
      "buildingNumber": "68",
      "buildingName": "Vintners Place",
      "postcode": "EC4V 3BJ",
      "city": "London",
      "region": "Greater London",
      "countryCode": "GB"
    }
  },
  "link": {
    "url": "https://pay.sandbox.example.com/channel?uuid=9d1f67f2-a647-404b-9b02-247c77be81d0",
    "chains": [
      {
        "protocol": "ETH",
        "address": "0x0000000000000000000000000000000000000000"
      }
    ]
  },
  "createdBy": "John Smith",
  "createdAt": "2025-01-30T09:00:00Z",
  "updatedAt": "2025-01-30T09:00:00Z"
}
info

To create a business remitter instead of an individual, change details.type to BUSINESS and replace the individual-specific fields with: legalName, registrationNumber, registeredAddress, and registeredCountryCode. For full details and a sample request, see Manage stablecoin remitters.

Next