TR: 004
Title: Settlement on SSN
Author: Mike Gaertner <[email protected]>
Status: Active
Created: 2019-09-29
Updated: 2019-09-29
Version 1.0.0
This document describes the settlement process on SSN and the decentralized exchange for swapping tokens.
As per contract between SSN and payment providers, the settlement process stipulated that:
Tokens/assets issued by the payment provider must be redeemed for the full value of the underlying FIAT currency upon return of the token by anyone on SSN.
When receiving tokens the payment provider will credit the account specified in the transaction memo after deducting the commission. The data field net_payout
on the token issuing account denotes the pay out rate offered by the provider.
Payment Providers can specify a settlement account using the data field settlement_ssn_account
on the asset issuing account. Any request for pay out should be send to the settlement account. By default the asset issuing account is also the settlement account.
Transactions send to the wrong account at the payment provider must be returned with the memo:
TR004 401
Errors in transaction memos on SSN are expressed as <TR> <CODE>
referring to the technical regulation and a error code loosely following HTTP error codes.
When the payment provider receives incoming transaction to his settlement account, the provider must check the memo field contains a valid International Bank Account Number (IBAN) for an active account or wallet with the payment provider. If the destination account is invalided, the payment provider must return the amount to the sender with the memo:
TR004 404
If the payment memo contains a correct account number, the payment provider will deduct his commission (net_payout
) and credit the account with the underlying FIAT asset.
Merchants can use the SSN Dashboard to make pay outs to payment provider where the merchant maintains an account with. The SSN Dashboard will prepare the transaction and ask the merchant to specify the account to which the tokens should be credited. The account must be a valid account number (or wallet address) with the payment provider.
The same function can be use by merchants to credit user accounts for partial refunds, complete refunds should use the return transaction method, where the complete amount is send back to the payment provider with the original transaction hash as memo.
Merchants may also receive payments (tokens) from payment providers where the merchant does not have an account for settlement. For those tokens the merchant can access the exchange function on SSN and offer the tokens for a trade into tokens the merchants uses for settlement. Due to market conditions there maybe not always a trading partner and offers may stay on the network for some time. For more information see SSN trading exchange.
The merchant can also request instant cash out, in which case the network will find a settlement provider who offers the token the merchant wants, the swap may reach across several trading pairs to find the correct token. However there maybe a surcharge required to make trades offered by settlement providers on SSN (see settlement providers below).
SSN, as function of the network, allows for the exchange of tokens based on offers and bids made by token holders.
The SSN Dashboard supports this by calculating a exchange rate between every token on the network (taking into consideration the different net payout rates) and allows the merchant to offer tokens for a swap.
Example trading pairs (below rates are example rates and not actual provider rates):
Provider | Net Payout Rate |
---|---|
ABA Bank | 0.9975000 |
WING | 0.9965000 |
PiPay | 0.9900000 |
PayGo | 0.9500000 |
Using the example pay out rates above, the system will establish the following exchange:
FROM/TO | aba | wing | pipay | paygo |
---|---|---|---|---|
aba | 1.0000000 | 1.0010035 | 1.0075758 | 1.0500000 |
wing | 0.9989975 | 1.0000000 | 1.0065657 | 1.0489474 |
pipay | 0.9924812 | 0.9934772 | 1.0000000 | 1.0421053 |
paygo | 0.9523810 | 0.9533367 | 0.9595960 | 1.0000000 |
Using this table above a merchant holding ABA token but wishing to cash out at WING would offer ABA tokens in a trade:
1 ABA token = 1.0010035 WING tokens
The system would automatically match his request with anyone who has WING tokens but wants to cash out at ABA.
Due to differences between customer preferences for payment channels and merchant preferences for pay out options, there maybe a token imbalanced on the network. Customers pay with payment provider A but merchants like to cash out with payment provider B. In this case there are more tokens from Payment Provider A on the network and a shortage of tokens from Provider B.
For this case SSN supports settlement providers to offer a trade for tokens from payment provider A to B. The settlement provider may offer different rates from the direct exchange rate to cover his costs for offering the service.
This service is used for direct cash out, where the system is automatically looking for trading pairs to allow the merchant to cash out. If the merchant uses this service, SSN will ask the merchant for a maximum commission he is willing to pay for arbitrage service. The default setting in the SSN dashboard is 0.5%.