# 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.