Sender Segregated Account

The Sender Segregated Account (SSA) is a RippleNet account used to represent the receiving institution's collateral account for a given sender. The Sender Segregated Account reflects the fiat funds owed to the sender as a result of any payments that were subject to a failure conversion.

SSA with FX implementation options

Once the SSA is funded, it becomes a Nostro account. How you use the SSA depends on your sender-receiver agreement. The following liquidity path options are available:

  • Sender FX - we recommend using this option when failure conversion moves funds to the destination currency and the sender wants to include an FX price to support reconciliation.
  • Receiver FX - we recommend using this option when failure conversion moves funds to a currency which can be converted to a different currency. For example, the result of a failure conversion provides the sender with USD to be converted to a different receiving currency.
  • No FX - we recommend using this option when failure conversion moves the funds to the destination currency.

For more information about these options and the best fit for your use case, contact your RippleNet liaison.

Payment flow with SSA

When a payment fails and failure conversion pushes funds from that payment into the Sender Segregated Account, you can move the funds out of that account and use them for other payments.

The following procedure outlines a regular ODL payment flow with focus on SSA specifics:

  1. Originator: Request a payment.
  2. Sender: Request a quote using the Create quote collection operation.
    1. Set the quote_limit parameter to 1 to force the response to only contain one quote. If the SSA has sufficient funds, the quote collection will only contain the liquidity path with the SSA in the response.
    2. Set the quote_filter_types parameter to "LIQUIDITY_WARNINGS" to ensure that you only receive quotes from liquidity paths with sufficient balance to facilitate the payment.
    Note:

    The quote collection always prioritizes using funds from the SSA. If there aren't enough funds in the SSA, quotes containing the SSA will not be returned in the response and the payment will flow using the regular ODL payment path.

    Here's an example request body:

    Copy
    Copied!
    {
        "sending_address": "{{sender_ripplenet_address}}",
        "receiving_address": "trans_php_receiver@{{receiver_ripplenet_address}}",
        "amount": 30,
        "currency": "USD",
        "quote_type": "SENDER_AMOUNT",
        "digital_asset_origination": true,
        "quote_limit": 1,
        "quote_filter_types": [
            "LIQUIDITY_WARNINGS"
        ]
    }
  3. Sender: Accept (or reject) the SSA quote prior to the quote expiry date/time using the Accept quote operation.
  4. Receiver: Lock the quote using the Lock payment operation.
  5. Sender: Execute the payment by submitting it for settlement using the Settle payment operation.
  6. Receiver: Deliver funds from the SSA to the beneficiary.
    Note:

    The original payment and the new payment may not match one-to-one. For example, the original payment is $100,000, but the new payment is only $99,500. This means there's a floating balance of $500 in the SSA, which might increase with every failed payment and the subsequent payment that uses funds from the SSA.

  7. Receiver: Update the payment status to COMPLETED using the Complete payment operation.