The Celo Wallet can be used to send and request payments with anyone who has verified their phone number to an address(or using QR codes for unverified addresses). Send transactions make a call to the
transferWithComment function within the
Comments are encrypted using the
messageEncryptionKey of the sender and the recipient to ensure that comment contents are kept private. These encrypted comments are then stored on chain. For more details, please refer to the Encrypted Payment Comments section of protocol documentation.
Payment requests occur off chain - using a service (firebase in the open source Celo Wallet) we deliver payment requests. Upon confirmation of a request, a send transaction is created and sent.
For non-essential functionality that is not detrimental to interoperability, a private firebase service. Notifications in the Celo Wallet are one example of this. Users receive push notifications in the following circumstances:
Receiving a payment request
Payment of an outstanding payment request
The Mobile Exchange experience implements the uniswap-style exchange detailed in Stability Mechanism Documentation. For this reason, rates provided are an overestimate of the current rate and subject to change (such changes are presented to the user if they result in a less favorable rate)