Serbia President Aleksandar Vucic said the government initiative was the first of its kind in the world to promote vaccinations.
Serbia has promised to pay citizens the equivalent of €25 if they are vaccinated against COVID-19.
President Aleksandar Vucic said the initiative would reward citizens for their "responsibility" to get inoculated against the coronavirus.
Citizens over the age of 16 who have either already received one or two doses, or will be vaccinated with at least one dose by May 31 will receive a one-time payment of 3,000 dinars (€25). The amount equates to around 5% of the country's average monthly salary.
"We have considered how to reward people who have shown responsibility and decided to grant additional financial support to those who have been vaccinated," the president told reporters in Belgrade.
Vucic added that it "irresponsible and selfish" not to be vaccinated, although he ruled out any imposing restrictions.
But the president did announce that public sector employees who have not been vaccinated would no longer be eligible for sick pay if they contracted COVID-19.
The government initiative - believed to be the first of its kind in the world - is aiming to revive Serbia's immunisation campaign amid waning public interest and growing scepticism.
In other countries, companies have offered incentives to their employees for taking a coronavirus vaccine.
Vucic also expressed hope that Serbia would have vaccinated at least 55% of the country's population with one dose by the end of May.
So far, roughly 22% of Serbia's seven million inhabitants have been given two jabs, much higher than 9% of citizens in the European Union.
The Balkan country has bought millions of doses of vaccines, including Russia's Sputnik V and China's Sinopharm, which have not yet been approved for use in the bloc.
For several days in March, Serbia even invited nationals from the region to come and be vaccinated in the country.