Suggestions requested for integreating NEM into our platform

We are building a cryptocurrency trading app (both web and mobile apps). The app won’t actually be an exchange but will connect to existing exchanges via API to allow our users to purchase coins. Because essentially all the transactions will take place in our accounts on the exchanges, we need a way to keep track of all of our clients transactions and their balances of each currency.

For example, if Bob and Alice both have 10BTC and 10LTC each, then our account in the exchange will hold 20BTC and 20LTC. But in Bob’s an Alice’s accounts, they will just see the balance of 10 for each currency.

We want a very secure way to record all of these transactions and the balance of each user’s account.

We are considering using NEM (either a private or public blockchain) to do this.

Can anyone suggest a reason why this wouldn’t work? Or, if you think it would work, help us out in deciding the best way to go about it using namespaces and mosaics?

Without really understanding how it works properly yet, this is more or less one possibility for how it could work (although I’m sure someone can suggest a better way):

  • We get each user to download our app (which has a built in NEM wallet)
  • The user purchases fiat currency within the app and in exchange they are given a certain number of mosaics (let’s say they deposit AUD$1000 in their account so they are given 1000 AUD mosaics. My site will be called obanc so I guess the mosaics would be called obank:aud)
  • The user purchases BTC - the transaction actually takes place on a third party exchange via API in our account but on our platform the user is now sent obank:btc mosaics (depending on how much bitcoin they bought - maybe 0.05) and the cost in AUD is sent back from their account to ours (eg. it cost $500AUD so 500 obanc:aud are sent back from their account to our account…) When the user authorizes the trade ($500 aud for 0.05BTC) then they also authorize the sending of the mosaics back to our wallet…
  • If the user then wants to swap obanc:btc for obanc:ltc then a similar process would happen (their wallet would send obanc:btc back to us and in return we would send them obanc:ltc)

I guess this is just one option, which I’m not even sure of the viability of, but if anyone could suggest any other’s that’d be great…

Also, I’m a bit worried about the cost factor here. If I needed to create 1,000,000 obanc:aud for example, it could get pretty pricey! So if someone could suggest ways around this, that’d be great :slight_smile:

Maybe private chain Mijin will better fit your needs? Probably you can set no fees there and I don’t see why is needed public blockchain in your solution.
It will be used internally in your trading app yes?

Yes I was thinking Mijin might be best. However I still need to work out the right structure.