To implement automated deposits/withdrawals of a single currency for a business there has to be a lot of code in place specific for that currency. For example if I want to automate sending and receiving bitcoin - I would write an application around bitcoin’s software - bitcoin core. Obviously, there won’t be similar node software for every coin, say Ethereum, would have a different core, if it even has one (it’s an example). Would you need to write a new app that would adapt for that core? Then does it mean that big exchanges write new software that does the same job but for each coin? Where did I go wrong here, or is cryptocurrency development really this complex?