import secp256k1 as ice
pub = '03C8F139DAD58B4786D3649992849733C2A7626F011089E87508CCDF8B0758C493'
lmda = 0x5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72
N = ice.N
G = ice.scalar_multiplication(1)
Q = ice.pub2upub(pub) # pvk
QE = ice.pub_endo1(Q) # pvk * lmda % N
QG = ice.point_subtraction( Q, G ) # pvk -1
if QG == QE: # pvk -1 = (pvk * lmda % N)
# pvk -1 = (pvk * lmda % N)
# pvk - pvk * lmda = 1 %N
# pvk (1 - lmda) = 1 %N
# pvk = 1 / (1 - lmda) %N
print(f'[+] PrivateKey: {hex(pow((1-lmda), N-2, N))}')
[+] PrivateKey: 0xc6768f199574104ae1b75eab82b0cc1d2d2e9ee7d50637a574e27131e9301552
I missed it indeed.
