원래 신안공(新安公)왕전(王佺)의 가노(家奴)로 처음에 환자(宦者)가 되었는데, 몽고어 해독을 잘하였다.
교활하고 아첨을 잘하며, 원종의 총애를 받았다. 낭장에 올라 여러 번 원나라에 사신으로 다녀온 공이 있어 장군으로 승진되었으며, 1268년(원종 9)김준(金俊)의 무리를 죽일 때 평소 가까웠던 임연(林衍)에게 김준을 죽이도록 하여 일등공신이 되고, 대장군에 올랐다.
1269년 임연이 왕의 폐립(廢立)을 꾀하여 안경공(安慶公)왕창(王淐)을 세우고 원종을 용암궁(龍巖宮)에 유폐시킬 때, 이미 왕을 배반했으나 원종이 곧 복위하여 원나라에 가게 되자, 임연의 심복이 되어 스스로 왕을 호종, 돌아와 상장군에 올랐다.
세자 왕심(王諶)이 고관의 자제를 이끌고 원나라에 갈 때 왕의 폐립사건 때문에 뽑히지 않았으나 자의로 원나라에 가서 개체(開剃: 몽고식의 머리)하고, 귀국한 뒤에는 스스로 원나라의 사신처럼 행세하며, 왕을 보고도 절을 하지 않았다.
왕이 노하였으나 제어할 수가 없었고, 유사(有司)도 감히 힐난하지 못하였다. 원나라에 있을 때 홍다구(洪茶丘)에게 아부하여, 고려에는 많은 군량의 저축이 있다고 거짓말을 함으로써 원나라가 고려에 사신을 보내 군량을 독촉하게 하였다.
1275년(충렬왕 1) 군부판서(軍簿判書)와 응양군상장군(鷹揚軍上將軍)에 올랐는데 그 신분이 천례출신이라 하여 감찰사(監察司)의 탄핵으로 면직되었다가, 이어 밀직부사(密直副司)에 올랐다.
1279년 대장군 김자정(金子廷)과 함께 사패(賜牌)를 사칭하여 많은 민전을 빼앗다가 발각되어 신흥창(新興倉)에 몰수당하였으며, 1283년 판삼사사(判三司事)로 물러났다.