Pat chicken dry with paper towels. Heat oil over med-high heat until just smoking. Brown half of the chicken on both sides, 5-8 minutes per side. Reduce heat if the pan begins to scorch. Transfer chicken to a plate, leaving the fat in the pot. Return the pot (with the fat) to med-high heat and repeat with the rest of the chicken.
Pour off all but 1 T. of the fat. Add onion. Cook over medium heat, stirring occasionally until softened, 5-7 minutes. Stir in tomato paste, garlic, ginger, chili powder, cardamom, nutmeg, and fenugreek. Cook until fragrant, about 30 seconds. Stir in flour; cook for 1 minute. Stir in broth, wine and water, scraping up browned bits.
Put back in chicken and any juices; bring to a simmer. Cover, turn heat to med-low and simmer until chicken is fully cooked and tender, about 20 minutes for breasts or 1 hr for thighs and drumsticks. (If you're using both, simmer thighs/drumsticks for 40 minutes before adding the breasts and then cook both for that 20 additional minutes.).
Transfer chicken to serving dish. Cover loosely with foil. Let rest while doing sauce.
Skim as much fat as possible off the sauce. Return to a simmer until it's thickened and measures about 3 cups, about 20 minutes. Stir in the eggs and cook until warmed thru, about 1 minute. Remove from heat.
Stir in butter. Season with salt and pepper if desired. Pour sauce over chicken and serve.