# FunFair Wallet Ethereum Provider
# What is an Ethereum Provider?
💡 Most dApps use either web3 or etherjs to read from and write to the blockchain directly from the client.
💡 These libraries follow best practices, and expose interfaces that should allow you to do everything necessary for blockchain development.
💡 Also, the nodes and signing all need to happen in the Wallet client not the dApp client as only the Wallet client has access to the necessary context information.
💡 An Ethereum provider is something you can inject into the constructor of web3 or etherjs and override the point at which it makes the JSON-RPC call.
💡 Minimal changes, if any, should be required to the web3/etherjs code.
💡 Once done, our Ethereum provider will proxy all the JSON-RPC calls to the Wallet.
# Ethereum Provider Flow
Click on the image to zoom in.