Introduction

The Ripple DP 2.0 integration allows Parfin clients to connect a Ripple account as an OTC counterparty, enabling:

  • Balance visibility in the Portfolio

  • Report exports (Balances, Transactions, and Trades) for reconciliation and audit

  • Ripple usage in the SOR (CaaS Manager) to quote and execute operations

    • Payment creation from quotes (quote → payment/withdrawal)


How it works

General concept

Ripple is available as an OTC counterparty called Ripple DP 2.0. After connecting and approving the connection:

  • The client can view balances

  • The client can quote and execute via SOR (once enabled and configured)

  • The client can export reports tied to the connection

Key rules and assumptions

Connection is linked to a single Beneficiary (unique)

  • Each Ripple connection is associated with one single beneficiary, identified by the Beneficiary Nickname.
  • When creating a new connection, the system validates the Beneficiary Nickname:
    • It must exist in Ripple and be unique

    • If it does not exist or is duplicated, the connection cannot be created

  • Once the connection is created, the beneficiary cannot be changed. If you need to use a different beneficiary, you must create a new connection.

Available trading pairs do not come automatically from Ripple

  • Ripple does not provide an endpoint (API) that lists enabled pairs per client.
  • Pairs must be registered via Support in order to be used in the SOR

  • Pair registration is done per connection


Step-by-step

Connect Ripple

  1. Go to Settings → Counterparties

  2. Click + Connect Counterparty

  3. Select:

    • Type: OTC

    • Counterparty: Ripple DP 2.0

  4. Fill in:

    • Account Name - free name to identify the connection

    • Authentication credentials generated in Ripple - Client ID, Audience, Credentials

    • Beneficiary Nickname - must match exactly the nickname configured in the Ripple portal

  5. Click Submit and complete the 2FA flow

What the system validates during connection

  • Credentials: must be valid

  • Beneficiary Nickname:

    • must exist in Ripple

    • must be unique (no more than one beneficiary with the same nickname)

Possible error messages:

  • Invalid credentials: “Invalid Credentials. Please try again.”

  • Beneficiary not found: “Unable to find beneficiary with the provided Nickname.”

  • Duplicate beneficiary: “Multiple beneficiaries found with the same nickname. Please choose a unique one.”


⚠️ Important: once created, the connection is permanently associated with the beneficiary provided.


Approval workflow (Governance)

After creation, the connection goes through the instance approval workflow (governance).

The counterparty will only be available for full usage (e.g., in the SOR) once it is approved.


Enable Ripple in the SOR (CaaS Manager)

To use Ripple in the SOR, there are two essential steps:

Step 1 — Have an active Ripple connection

  • The connection must be created and approved (active).

Step 2 — Request Support to register pairs per connection (mandatory)

Because enabled pairs do not come automatically from Ripple, the client must open a Support ticket to register the connection’s pairs.

In the ticket, the client must provide:

  • Mandatory
    • Enabled pairs (e.g., USDT/BRL, USDC/USD, etc.)

    • Allowed decimal places, using the Base Currency as reference

  • Optional
    • Maximum value, using the Base Currency as reference

    • Minimum value, using the Base Currency as reference

    • Minimum cost, using the Quote Currency as reference


Without this registration, the connection may exist, but it will not be ready to operate correctly via the SOR.

Quote and execute in the SOR

Quoting (Quote)

  • Active/approved Ripple connections appear as an option in the SOR

  • Quoting is only possible after pairs have been configured for the Ripple connection


Execution (Accepted Quote → Payment)

  • On Ripple, accepting/executing a quote means creating a payment.
  • When Trades/execution is enabled (Trades ON in RFQ Execution Settings), accepting a quote means creating a payment for the beneficiary registered in the connection.

  • When Trades/execution is disabled (Trades OFF in RFQ Execution Settings), accepting a quote does not create a payment for the beneficiary registered in the connection.

When a payment is created successfully:

  • the quote is considered executed

  • and it enters monitoring until the payment reaches a final status (completed or failed), which may take minutes or days

The payment status can be tracked:

  • In the RFQ – Ledger Details report, via the “Trade Status” column

  • Via Webhook, through the “Exchange > Status” field on the Order entity


Notifications and Alerts

Payment monitoring

After execution, payments may remain in intermediate states for some time:

  • While the payment is in progress, the order appears as WAITING

  • When the payment completes successfully, the order moves to CLOSED

  • If the payment fails, the order moves to CANCELED

Payment failure (exposure)

If a payment reaches a final failure state, the platform:

  • records the event

  • sends an exposure email to the instance admins


Visibility and Reports

Balance reports

The platform provides:

  • Balances (Amount): asset position (quantity)

  • Balances (USD): asset position plus USD valuation (for audit/financial analysis)

Transactions report

  • Lists only completed payments in Ripple (finalized only)

  • Used to reconcile the history of withdrawals/payments executed via Ripple DP 2.0

  • Includes transaction details for audit (original response)

Trades report

  • Lists only completed operations in Ripple (finalized only)

  • Considers an “executed trade” as a completed payment


Frequently Asked Questions (FAQ)

  1. I connected Ripple. Can I use it in the SOR right away?
    No. In addition to the connection being active/approved, you must request Support to register the enabled pairs for that connection.
  2. Can I change the Beneficiary Nickname after the connection is created?
    No. The beneficiary is fixed for the connection. To change it, you must create a new connection.
  3. My connection failed with a beneficiary message. What does that mean?
    It means the nickname provided does not exist in Ripple or is duplicated (more than one beneficiary with the same nickname). The nickname must be valid and unique.
  4. How long can a payment take to complete?
    It can vary from minutes to days, depending on payment method, country, and clearing system. The platform monitors it until it reaches a final state.
  5. What happens if a payment fails after I execute it?
    The order is marked as CANCELED, and the system sends an exposure email to the instance administrators.
  6. Why don’t my Trades/Transactions show up in the report?
    Reports list finalized payments only. If the payment is still processing, it may appear as “in progress” (WAITING) in the platform, but it will only appear in reports once it is finalized.