I'm looking to setup a XMR wallet type service, but was wondering how does mymonero scan so many private keys to update its balance as scanning can take awhile. Is there a method of scanning multiple monero private keys at once using the monero daemon? What is a fast way of scanning multiple private keys? Say I have 1000 XMR private keys to scan.
The wallet uses the daemon to retrieve the bulk transaction data that the wallet then performs computations against to scan for received funds. The wallet checks each transaction with a wallet private view key using elliptic curve operations.
You would want to modify the wallet code to read each transaction once, but then to check multiple private view keys against each transaction. A modern server could easily check many thousands of private view keys per transaction per second.
This would require you to be familiar enough with the Monero codebase to make these changes.