The Russian ruble is the monetary unit of the Russian Federation. On the territory of the Russian Federation, the use of other currencies by residents, with some exceptions, is punishable by a fine of three-quarters to one transaction size. Thus, in St. Petersburg, you will not be able to use the US dollar, Euro or other currency. However, almost everywhere accept credit cards.
What about prices in St. Petersburg? They are lower than in most big cities of Central and Western Europe. Also, St. Petersburg is cheaper than the Russian capital, Moscow. A day of stay in St. Petersburg for a foreign guest starts from 30−35 Euro. Of course, there is no upper limit, because in the city you can find places and entertainment for any budget.