In the mainline Pokemon games, Poffins are a type of food that can be given to a Pokemon. They made their debut in Diamond/Pearl and essentially functioned like Ruby/Sapphire's Poke Blocks. Poffins are used not as healing items, making them distinct from Berries and Potions. Instead, they raise a Pokemon's Conditions, special stats that are exclusive to Pokemon Contests. Pokemon GO make Poffins accessible to trainers, but their purpose is very different from Diamond/Pearl/Platinum and Brilliant Diamond/Shining Pearl.
Poffins weren't originally available at the release of Pokemon GO. They were added to the in-game Shop back in 2019. Using a Poffin won't rake in any Trainer EXP, but it will help strengthen the bonds between an assigned Buddy Pokemon and the player.
Pokemon GO: How to Get Stardust
Unlike BDSP and the original Diamond/Pearl, players can't cook Poffins using Berries. The only way to get Poffins in Pokemon GO is to purchase them for 100 PokeCoins at the in-game Shop. They're not given as rewards for Research Tasks, nor will they appear as an item from PokeStops or Gyms. Players can get PokeCoins by defending a Gym, for a maximum of 50 PokeCoins a day. The Pokemon that players assign to the Gym will return with PokeCoins after they've been defeated.
The other way of getting Poffins is to buy PokeCoin bundles at the in-game store. This costs real money, with the 100-bundle priced at $0.99 (tax not included). So, essentially, a Poffin can cost a little over a dollar if players don't have the patience to farm PokeCoins from Gyms. To access the in-game store, simply tap the Poke Ball icon on the overworld, and go into Shop.
Once players have a Poffin, they can feed it to a Pokemon.
Alternatively, players can bypass AR
Read more on gamerant.com