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
Go to Settings → Counterparties
Click + Connect Counterparty
Select:
Type: OTC
Counterparty: Ripple DP 2.0
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
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)
- 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. - 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. - 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. - 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. - 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. - 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.