蔡牵,清乾隆二十六年(1761年)生,原籍同安县(今西柯乡人)。因生活所逼到霞浦县水澳(今属长春镇加竹村),替人修补渔网为生。乾隆五十九年左右到三沙一家渔行打工,不久被老板解雇,与好友金乌仔等6人以水澳为据点揭竿起义,被推为首领。
蔡牵举义后,体恤民众,深得渔民、商民拥护。嘉庆五年(1800年)夏,被安南(今越南)王驱逐流落在福建沿海的夷兵投靠蔡牵,义军实力骤增,拥有战船百余艘,义兵万余众,活跃于浙、闽、粤沿海,对抗清廷,成为颇有影响的海上农民起义军。
嘉庆七年五月,蔡牵率义军500余人,夜袭大担、二担岛,全歼守岛清军。浙江巡抚阮元建造“霆船”30艘,新铸大炮40门对付义军。翌年初,义军在浙江定海洋面遭“霆船”伏击,损失惨重,回师三沙澳,在沿海民众帮助下,建造巨艇,安夷炮,备粮弹,出海寻战,屡败水师“霆船”。六月,渡海东进,缴获白米数千石,分饷朱濆“粤海帮”。自此,蔡、朱结合,军力倍增。
嘉庆九年四月,蔡、朱义军兵分两路,先后攻取台湾鹿港和鹿耳门。二十八日,义军冒雨突袭重镇北汕,击毙游击武克勤、守备王维光。三十日,夜焚鹿耳门营署。五月初,又焚毁哨艇。六月初五,蔡牵率部在浮鹰海面截击温州清军运载造船木料船队26艘,击毙总兵胡振声及其部下80多人,同时,义军船队80余艘直逼罗星塔。八月,清政府令浙江水师提督李长庚,率领四镇兵船围剿义军,义军失利。
嘉庆十年四月,蔡牵调集百余艘战船进军台湾,在鹿耳门沉舟塞港,阻止清军后援,当地义军首领洪老四、吴淮泗等率众响应,义军增至2万余人,并迅速向台湾腹地推进,顺利占领凤山(今高雄市)、淡水等地,蔡牵被推为镇海威武王,布告天下,建元“光明”。台湾镇总兵爱新泰、知府马夔升派兵镇压。蔡牵率部与官兵周旋,以声东击西战术,向府城逼进,占据城郊洲仔尾,控制南北通道。十二月,与爱新泰部激战,击毙千总薛元勋。
嘉庆十一年五月,仁宗特命成都将军德楞泰为钦差大臣,调动四川、两广、两湖、山东和吉林、黑龙江等地兵马赴闽参战,闽浙两省水师总统李长庚率两省水师和部分陆军赴台。义军-失利,仅剩战船30多艘,7月,撤回福宁海湾,以浮鹰岛为根据地。清军在闽浙沿海一带坚壁清野,义军得不到粮弹补充,迫而转入分散隐蔽游击斗争。
嘉庆十二年十二月,李长庚探知蔡牵行踪,与福建提督张见陞率兵合剿。清兵数十倍于义军,义军顽强抗击,混战中击毙清军主帅李长庚,张见陞引师逃遁。义军也伤亡惨重,余船3艘,撤往越南海域。
嘉庆十三年六月,蔡牵率50艘战船,重返闽浙粤海面,袭击清军兵舰,朝野震惊,清政府复令闽、浙两省水师合剿。嘉庆十四年八月十七日,蔡牵部在定海洋面遭福建提督王得禄袭击,伤亡较大。次日,突围至黑水洋海面,又被浙江提督邱良功“分船隔攻”分割包围。蔡牵座船弹丸用尽,以银元充当炮子,倾力还击。在两船相接短兵交战中,蔡牵举铁锚砸邱座船,用长矛伤邱左腿及王得禄额腕。清军改用火攻,蔡牵座船尾楼起火,船舵折断,清兵争功登船捉拿蔡牵。蔡牵毅然引爆首尾巨炮,裂船沉海,蔡牵举家及同船义兵一起殉难。时年48岁。