I'm not an expert on SQLite, but as far as I tried, you can make savepoints inside transactions, but not vice versa.
And AFAIK, looking through online documentation, save points and transactions are almost the same, the difference is a transaction stack in which save points are written. You can open a certain number of savepoints (remembering the stack ordering), and after checking it “OK”, make a commit transaction. I do not know if this will help you.
source share