What a trade costs
Every trade costs Stardust for both players. The price depends on three things: your friendship level, whether the Pokémon is special (shiny, legendary, tradable mythical, Ultra Beast, Gigantamax or purified), and whether it's new to the receiver (missing from their Pokédex, forms and costumes included).
A regular Pokémon already registered: 100, whatever the friendship level.
A new Pokémon, or a special one already registered: 20,000 between Good Friends, 16,000 between Great Friends, 1,600 between Ultra Friends, 800 between Best Friends.
A special and new Pokémon: 1,000,000, 800,000, 80,000 then 40,000.
Trading a special or new Pokémon is a special trade: one per day.
IVs after trading
A traded Pokémon gets new IVs, rolled at random with a floor: 1 between Good Friends, 2 between Great Friends, 3 between Ultra Friends, 5 between Best Friends, and 12 for a lucky one.
Lucky Pokémon
A trade has about a 5% chance to make both Pokémon lucky. The odds grow with their age: 5% more per combined year, up to 20%. So trade your oldest Pokémon. Between Lucky Friends, it's guaranteed. A lucky Pokémon costs half the Stardust to power up.
Candy
Whoever gives a Pokémon gets Candy for its species: 1 if both Pokémon were caught within 10 km of each other, 2 up to 100 km, 3 beyond, with an almost certain XL Candy past 100 km.
Frequently asked questions
Why does a trade cost 1,000,000 Stardust?
That's the price of a special Pokémon (shiny, legendary, Gigantamax…) the other player doesn't have yet, between plain Good Friends. Between Best Friends, the same trade drops to 40,000.
How do you get a guaranteed lucky Pokémon?
By becoming Lucky Friends: between Best Friends, the first interaction of the day has a small chance to make you lucky, and the next trade then always gives lucky Pokémon.
How many special trades per day?
One, except during some events that offer two. Regular trades are capped at 100 a day.