Skip to main content

Overview

Integrator keys are created through a wallet-signed onboarding flow. The wallet that applies becomes the owner wallet for the integrator profile and must also be the fee-recipient wallet. The flow is:
  1. Build the application payload and its payload_hash.
  2. Call POST /integrators/nonce with action create_integrator_application.
  3. Sign the exact message returned by the nonce endpoint with the owner wallet.
  4. Submit the signed application to POST /integrators/applications.
  5. Wait for Rialto approval if the application returns status: “pending”.
  6. After approval, request another nonce for create_integrator_api_key, sign it, and call POST /integrators/api-keys.
  7. Store the returned api_key immediately. It is shown once. Later profile reads only return a masked key.

Payload hash format

Mutable integrator actions require a payload_hash:
Use UTF-8 byte length for each value. Optional fields are encoded as none or some:<value>.

Endpoint: create integrator nonce

Auth: public. Response includes message, nonce, issued_at, and expiration_time. Sign the exact message string. Do not reconstruct it client-side.

Endpoint: submit application

Auth: public. Example response:
If status is pending, the Rialto team will review your application. If approved, the profile status becomes active and you can create an API key for it. If the application response already returns active, you can create a key immediately.

Endpoint: create API key

Auth: public. Response:
The api_key is shown only once at creation. Store it securely when this response is returned. It cannot be retrieved again; /integrators/me only returns masked key metadata.

Profile and key management

Use action view_integrator_profile on /integrators/nonce, sign the returned message, then submit owner_wallet, nonce fields, and signature to /integrators/me. Use action revoke_integrator_api_key to revoke a key. Compute the payload_hash from owner_wallet, integrator_id, and key_id.

Python example

This example submits an application. If the application is already active, it also creates an API key. If it is pending, save the returned integrator_id and create the key after Rialto approves the application.
A full runnable Python example for application and key creation is in the API repo: https://github.com/rialto-plds/rialto-api-docs/blob/main/RIALTO_SWAP_API.md