Pokémon Eggs

Eggs can be obtained from PokéStops around the world. Eggs contain Pokémon, and must be hatched.

They can be selected from the Poké Menu → Pokémon → the tab Eggs.

Description
Here one can see how many eggs a trainer has and how many kilometres (km) one needs to walk to hatch them.

To hatch an egg, a trainer needs to select an incubator, then the desired egg.

There are two types of incubators. An orange one is received at the beginning of the game and has unlimited uses. Others are blue and can be used only three times.

Gameplay can carry on as usual when hatching an egg. Kilometres will be registered while the player moves with the app open. Distance is measured by GPS distance, not by movement or number of steps. Once the required distanced has been walked, the egg will appear on the screen with the message "Oh?". Tapping the screen will break the egg open, revealing what is inside.

The Pokémon Go app has limits on speed (approximately 24km/h (15 MPH)). If a person exceeds these limits, the app will not register the distance traveled.

When the app is open, it pings the player's location every 4 minutes. It appears to measure the straight-line distance between pings and will add that distance to every incubator.

The CP of Pokémon hatched from eggs is based on the trainer's level when the egg was acquired, not when it is hatched.

Coloration
Professor Willow discovered that the color of the eggs change depending on how far you have to have to walk to hatch the egg.

Green spots : 2Km eggs

Yellow spots : 5Km eggs

Purple spots : 10Km eggs

List of receivable Pokémon
Eggs have been observed to come in three types, based on the distance one must walk for them to fully incubate: 2 km, 5 km, and 10 km. The Pokémon hatched from eggs always come with a fair amount of their specified candy well.

Note: Niantic has confirmed region locked pokémon (Mr. Mime, Tauros, Kangaskhan, and Farfetch'd) can only be hatched from eggs obtained in the designated region.