Faits : A. Par jugement du 20 avril 2018, le Tribunal criminel de l'arrondissement de Lausanne a notamment libéré X._ (alias XX._) des chefs de faux dans les certificats (faute de for de poursuite en Suisse) et blanchiment d'argent, a constaté qu'il s'est rendu coupable d'infraction grave à la loi sur les stupéfiants (LStup; RS 812.121) et de délit à la loi sur les étrangers (LEtr; RS 142.20; depuis le 1er janvier 2019: loi fédérale sur les étrangers et l'intégration; LEI). Il l'a condamné à une peine privative de liberté de 8 ans, sous déduction de la détention subie avant jugement et a ordonné son maintien en détention pour des motifs de sûreté. Il a notamment ordonné la confiscation et la dévolution à l'Etat de la somme de 57'430 fr. et le maintien au dossier à titre de pièces à conviction des documents d'identité au nom de XX._. Par ce même jugement, le tribunal criminel a libéré A._ des chefs de faux dans les titres, faux dans les certificats, blanchiment d'argent et séjour illégal, l'a reconnu coupable d'infraction grave à la LStup et l'a condamné à une peine privative de liberté de 42 mois. B. Statuant le 1er octobre 2018 sur appel de X._ et appel joint du ministère public, la cour d'appel pénale du Tribunal cantonal du canton de Vaud les a rejetés et a confirmé le jugement de première instance. La cour cantonale a retenu les faits suivants. B.a. X._ est né en 1983 en Guinée, pays dont il est ressortissant. Il est connu sous divers alias, à savoir en particulier XXX._, né en 1981, et XX._, né en 1976. Les déclarations qu'il a faites sur sa situation personnelle diffèrent selon les procédures le concernant. A Lausanne, depuis le mois d'août 2012, à tout le moins et jusqu'au 23 juin 2016, date de son interpellation, X._ a séjourné en Suisse sans être au bénéfice d'une autorisation de séjour valable. A cette même période, X._ s'est livré sans discontinuer à un trafic de drogue portant sur à tout le moins 8 kg de cocaïne brute (environ 3 kg nets), afin d'augmenter son train de vie de manière significative. Il travaillait avec A._, ce dernier revendant la cocaïne fournie par le premier qui tenait le rôle de fournisseur et qui orientait ses clients sur son vendeur. Des perquisitions faites le 23 juin 2016 au domicile de X._ et dans une chambre qu'il louait à un particulier ont permis de saisir une masse nette pure de 153,9 g de cocaïne (785,5 g bruts) sous diverses formes et 362 g bruts de cristaux d'acide borique (éventuellement du produit de coupage), plusieurs téléphones portables, une balance électronique et de grosses sommes d'argent réparties dans des chaussettes (30'230 fr. et 27'530 euros). La perquisition faite le même jour chez A._ a également permis de saisir plusieurs téléphones portables, des grosses sommes d'argent, une chaussure avec une semelle doublée contenant un pain de poudre blanche ainsi que 1,554 kg de cocaïne brute, à savoir 613,1 g nets sous diverses formes. Les traces ADN de X._ ont été trouvées sur deux lots de parachutes différents saisis dans la cave de A._. B.b. Le casier judiciaire de X._ comporte deux inscriptions. Il a été condamné, le 15 mai 2007 pour crime à la LStup à une peine privative de liberté de 5 ans et 6 mois et le 24 juin 2016, pour accomplissement non autorisé d'une course d'apprentissage à une peine pécuniaire de 15 jours-amende à 30 fr., avec sursis. C. X._ forme un recours auprès du Tribunal fédéral contre le jugement cantonal et conclut, avec suite de frais et dépens, à son annulation et au renvoi de la cause à l'autorité cantonale pour nouveau jugement dans le sens des considérants. Subsidiairement, il conclut à la réforme du jugement cantonal en ce sens qu'il est libéré du chef de séjour illégal, qu'il est reconnu coupable d'infraction grave à la LStup, qu'il est condamné à une peine privative de liberté de 3 ans, mais au maximum à 42 mois et que certains documents et valeurs séquestrés lui sont restitués. Il requiert l'octroi de l'assistance judiciaire.