---
# System prepended metadata

title: Exchange or Remittance Service

---

# Exchange or Remittance Service

### Description and scope

We will build a bitcoin remittance service that with the following features:
- Authentication: Users will signup with their email and usernames
- Wallet: Users will be able to create HD wallets that allow them to 
    - create addresses, 
    - transactions, 
    - send and receive bitcoins. 
    - The wallet will also display the total BTC owned by the user and 
    - the various addresses.
- Convertion rates: Display the BTC to local fiat rates that are updated 
- Trading: Users should be able to BTC with supported fiat currency
- Fiat Withdrawal: Users should be able to withdraw supported fiat 
> [name=Enigbe OS ]
> How do we intend to address the CBN policy regarding cryptocurrencies? Should we consider a P2P exchange?

### Things that won't be covered
- User interface: The app will be purely `API` without a user interface

### Components
- Rust programming language
- Bitcoin core
- Third party APIs such as Blockstream for fetching address balance, rates, and a banking API for fiat withdrawal
- Exchange API (binance or coinbase) for selling `BTC to fiat`

### MVP Status
- We will consider the service an MVP when users can be able to signup and perform all of the above stated functionalities.