You are on page 1of 4

PROJECT ARROW

Software Requirements Specification


1.0 Defined Terms
1.1 Project Arrow – the project name for the application and website.
1.2 Hot wallet – A cryptocurrency wallet that is connected directly to the internet.
1.3 Stellar address – Official public address that identifies a specific wallet in the Stellar network.
Comprised of a combination of over 50 letters and numbers.
1.4 Federation address – A simple and easy to use usercode, linked to the official Stellar
address, which users can share to receive token payments.
1.5 Stablecoin – Blockchain token that is backed one-for-one in a particular currency
1.5.1 Ex. 1 USDC stablecoin can be sold for 1 USD
1.6 Network explorer – Digital receipt of Stellar transaction that confirms status.
1.7 Anchor – Third-party financial service provider that conducts KYC in compliance with local
regulations to allow users to convert their tokens to cash, which can then be deposited into
a bank account.
2.0 Purpose
2.1 Scope: Project Arrow is a payment solution that helps customers transfer money to friends
and relatives overseas. Project Arrow will be a “hot wallet” (a wallet that is connected to the
internet) that uses the Stellar network to facilitate the transfer of funds between customers.
2.2 Customers: Families and individuals that need to send money abroad, including foreign
nationals, migrant workers, international students, refugees, and travelers. The Project
could also be beneficial to underbanked communities in the United States that do not have
access to inexpensive and efficient ways to transfer funds.
2.3 Advantages: The Stellar network is designed to make overseas remittances easy by allowing
a payor to send funds in one currency to a payee in a different currency much faster and less
expensive than traditional remittance services (e.g. Western Union).
3.0 Overall Description
3.1 Users of Project Arrow will be able to do the following:
3.1.1 Connect with a Stellar anchor to facilitate the purchase and sale of fiat-backed
coins.
3.1.1.1 Users can connect to a USD Coin issuer such as Finclusive
3.1.1.2 Users can then convert their USD coin to their local currency using a
second anchor such as Settle.
3.1.1.2.1 Note that foreign currency options would be limited at
launch.
3.1.2 Create public and private keys.
3.1.3 Provides digital signatures to authorize each transaction.
3.1.4 Store funds in their wallet for future use.
4.0 Operating System
4.1 Website with mobile functionality
4.2 Android (~1 year post launch)
4.3 IOS (~2 years post launch)
4.4 Note: the order of operating system use is motivated by cost control
5.0 Features
5.1 Log-in / Create Account
5.2 View balance and daily price movements
5.3 Buy Tokens
5.4 Send Tokens
5.5 Cash Tokens
5.6 Quick Send
5.7 Quick Withdrawal
6.0 User Process
6.1 Buying and depositing Lumens as required by the Stellar network
6.1.1 Depositing Lumens directly into wallet.
6.1.2 Transferring tokens from one wallet to another.
6.1.3 Buying Lumens with a credit card (by partnering with third party such as
Moonpay). A fee is charged here.
6.2 Converting Lumens to fiat-backed stablecoin (USDC)
6.2.1 Directly through the wallet, users can convert their Lumens to USDC at a quoted
rate. A fee may be included.
6.3 Sending Lumens or USDC to other Project Arrow wallets
6.3.1 Payor enters Payee’s federation address, stellar address, or QR code on the
‘Send’ page.
6.3.2 Chooses amount and hits ‘Send’.
6.3.2.1 Ideally, sender will receive a link to the Network Explorer to confirm
status of transaction.
6.4 Swapping foreign stablecoins for local stablecoins
6.4.1 Using the ‘convert’ interface, users will choose how much of their foreign
stablecoin they wish to convert to their local stable coin. Transaction should
settle instantly.
6.5 Converting local stablecoin to cash
6.5.1 Through a local anchor (e.g. Settle), customers can get KYC approved and are
able to convert their stablecoin to cash, which can then be transferred to a local
bank account.
6.6 Quick Send
6.6.1 Combines the process of buying lumens, fiat coins, and through a single
operation on the app.
6.7 Quick Withdrawal
6.7.1 Combines the process of converting fiat tokens to cash deposited in a bank
through a single operation.
7.0 Example Case
7.1 Mike lives in the United States and would like to send his cousin Juan $100 for Juan’s
birthday. Juan lives in Mexico.
7.2 Mike and Juan both open separate wallet accounts.
7.3 Mike uses the “Buy Lumens” feature using his credit/debit card to buy $100 worth of XLM
through the Moonpay intermediary.
7.3.1 Juan could also deposit Lumens directly from another wallet if he already owns.
7.4 Mike converts his $100 worth of XLM to $100 of USDC using the Convert feature.
7.5 Mike sends $100 USDC to Juan’s federation address.
7.6 Juan receives a message notifying him about the transfer.
7.7 Juan converts his USDC to MXN (Mexican Peso stablecoin).
7.8 Juan then uses the Withdrawal feature to connect to Settle, the anchor which will be
approving his KYC and facilitating the conversion from stable coin to cash.

You might also like