-
Notifications
You must be signed in to change notification settings - Fork 2
User Journey
- Foreword
- PBM Issuer Experience (Campaign Organiser)
- PBM Holder Experience (Members of Public)
- PBM Redeemer Experience (Merchants)
- Sample Screens
The following documentation details the overall user experience for the Project Orchid Trial. Note that these are designs catered for the context of the trial.
For clarity, the following terms will be standardised as follows:
Name | Description |
---|---|
PBM Issuer | Responsible for minting, burning, issuing and freezing PBM tokens. |
PBM Holder | Party that receives the PBM directly from the issuer. This is akin to a voucher recipient |
PBM Redeemer | Party that receives the underlying voucher value. This is akin to a merchant |
As described in previous sections, token minting requires the issuer to shore up for an equivalent amount of DSGD. Essentially, issuers will need to already have the required DSGD tokens that they wish to wrap a purpose to. The following illustrates the token flow.
sequenceDiagram
participant PBM Issuer
participant PBM Contract
participant PBM Holder
PBM Issuer ->> PBM Contract: Spawn and init contract, via factory
note over PBM Issuer: at this point, PBM issuer <br> has $10 DSGD tokens
PBM Issuer ->> PBM Contract: Request Mint to PBM Holder, $1 PBM
activate PBM Contract
PBM Contract ->> PBM Issuer: Deduct $1 DSGD, credit DSGD to self
PBM Contract ->> PBM Holder: Mint and Credit $1 PBM to PBM Holder
deactivate PBM Contract
note over PBM Contract: contract <br> has $1 DSGD tokens
note over PBM Issuer: issuer <br> has $9 DSGD tokens
note over PBM Holder: holder <br> has $1 PBM tokens
The voucher (PBM) holder will # for a campaign with the PBM Issuer. The RedeemX platform will then create a crypto wallet for this holder and map this wallet to an agreed upon identifier (eg; mobile phone number, nric etc.). The holder will then be sent a unique voucher link via SMS. This voucher link will contain all the necessary information to access this created wallet.
sequenceDiagram
PBM Holder->>PBM Issuer: # for Campaign
PBM Issuer-->>PBM Issuer: Creation of Crypto Wallet
PBM Issuer-->>PBM Holder: Share a Unique link to the web application
While this flow is convenient, it will not be a permanent fixture. The grand goal would be to have the concept of a relatively universal wallet (along with relevant identification related infrastructures) for holders, such that a single wallet could be used to make claims for different PBM campaigns across different schemes. These will be explored in greater detail in the near future.
The transaction experience will be similar to that of a typical online payment flow, as follows:
Payment Flow
flowchart LR
id1(Select Amount) --> id2(Select merchant to pay) --> id3(Payment confirmation page) --> id4(Payment Success page)
Merchant View
flowchart LR
id1(Merchants key in their wallet address) --> id2(Merchant check transaction history)
The interaction between the PBM holder, the merchant contract and the token contract can be summed up as follows:
sequenceDiagram
participant PBM Holder
participant Merchant Contract
participant Token Contract
PBM Holder ->> Token Contract: Request for token information / balances
PBM Holder ->> Merchant Contract: Request for valid merchants for token
Token Contract -->> PBM Holder: returns token information
Merchant Contract -->> PBM Holder: returns merchant listing
PBM Holder ->> PBM Redeemer: select merchant, create transaction
activate PBM Holder
PBM Holder ->> PBM Holder: sign transaction
PBM Holder ->> Token Contract: commit transaction, wait for confirmations
deactivate PBM Holder
Merchants would # with RedeemX platform, where their bank account numbers are later sent to the partnering bank for the creation of a crypto wallet. Upon creation, the wallet address will be returned to RedeemX and these addresses will be added to the “approved” merchant list within the PBM contract of a particular campaign. Merchants will then be provided a link for them to access their wallets via the same RedeemSG Merchant interface.
sequenceDiagram
participant Merchant
participant OGP
participant DBS
Merchant->>OGP: Merchant #
OGP->>DBS: Send Merchant Bank Account Number
DBS->>DBS: Create Crypto Wallet
DBS->>OGP: Send Merchant Crypto Wallet Address
OGP->>OGP: Add Merchant Wallet Address to the PBM Contract
OGP->>Merchant: Send a unique link to access the merchant app
Note: For the context of this trial, merchants would have to have an existing bank account with that of the partnering bank, DBS. This again will be expanded further to be more interoperable with other banking arrangements in the future.
In previous sections, we discussed briefly on the concept of off-ramping. At the end of the day, DBS will run a job and transfer all the DSGD from the merchant’s crypto wallet back to their crypto wallet, hence conducting an off-ramp. After-which, these DSGD tokens are burned from circulation and the equivalent earmarked SGD is released back into the respective merchant bank accounts.
sequenceDiagram
participant DBS
participant Merchant
DBS->>Merchant: Trigger Daily Job
Merchant->>DBS: Transfer DSGD to DBS Crypto Wallet
DBS->>DBS: Burn DSGD, release earmarked SGD
DBS->>Merchant: Release SGD to Merchant Bank Account
The following outline the 4 main steps when generating a payment to a merchant:
Open Government Products (OGP)
Contact Us | Visit Us