Trainer Battle

Trainer Battles are a feature in Pokémon GO that lets Trainers battle against each other. Trainers will need to choose a league before going into a Trainer Battle, with each league having different maximum Pokémon CP limits. Trainers can challenge one another using a Battle Code, assemble a team of three Pokémon, and see who comes out on top. When Trainer Battles are completed, both participants will receive great rewards, including a chance at rare, coveted Evolution Items.

Battle Leagues
There are three Battle Leagues to choose from: Great League, Ultra League, and Master League. Great League & Ultra League will need to be unlocked by both trainers with the minimum requirements to battle in. Each Trainer are only allowed to assign three Pokémon to a Battle League party. Battles are fast-paced and real-time and a Trainer's selected team of Pokémon will be able to execute both their Fast Attack and Charged Attack moves. In preparation for battle, Trainers will even be able to use Stardust and Candy to unlock a bonus Charged Attack for their Pokémon. Two Protect Shields may be deployed to save Pokémon from critical damage, running out of them the Pokémon will be left defenseless. If the battle's time limit has been reached, the victor will be decided by whomever has the most knock-outs. Tie battles are also possible when both Trainers lose are possible.

Trainers will usually have find other Trainers on their nearby tab to initiate a Trainer Battle, but Ultra and Best Friends can challenge each other from any distance. Battling against another Trainer adds a new option for increasing your friendship, similar to participating in a Raid Battle together or exchanging Gifts.

At the end of a battle, both Trainers will receive prizes regardless of whether they win or lose, which may include the possibility of 500 or 1,000 Stardust, 1 or 2 Sinnoh Stones, or 1 to 2 Rare Candies. Rewards can be rewarded up to three times per day by battling other Trainers, but progress toward medals will continue after that. The end of a battle will also give Trainers an option to propose a rematch, or to send them a Friend Request if they're not already friends.

Banned Pokémon
Ditto and Shedinja are banned in Trainer Battles.

Team Leader Battles
Team Leaders Spark, Candela, and Blanche will be available to battle. Trainers can earn rewards once per day when training with a team leader. Finally, you can work toward earning an Ace Trainer medal once again.

Each Team Leader will always have the same defined set of Pokemon (with a different team for each League), much like battling Gym Leaders in the main series games.

The Pokémon in the teams are comprised of Fire-types for Candela, Water- and Ice-types for Blanche, and Electric-types for Spark. The last Pokémon in each leader's Great League team is always a Starter Pokémon, the first Pokémon in each leader's Ultra League team is always an Alolan-form Pokémon, and the last Pokémon in each leader's Master League team is always a member of Legendary Bird Trio.

Development
When designing Trainer Battles, Niantic wanted to create an experience that everyone could enjoy and ensure that different kinds of Pokémon can show their strengths. With Leagues in Trainer Battles, they hope to create a system that's accessible to many Trainers.

Currently, battles have a four minute timer and the time is only displayed during the final 20 seconds of battle, but this could change before release.

Trivia

 * Trainer Battles became available on December, 2018, following the forced roll-out of update 0.131.1.
 * Rare Candy was added to be a reward on January, 2019.