The problem of designing a trade mechanism (for an indivisible good) between a seller and a buyer is studied in the setting of discrete valuations of both parties using tools of finite-dimensional optimization. A robust trade design is defined as one which allows both traders a dominant strategy implementation independent of other traders' valuations with participation incentive and no intermediary (i.e., under budget balance). The design problem which is initially formulated as a mixed-integer non-linear non-convex feasibility problem is transformed into a linear integer feasibility problem by duality arguments, and its explicit solution corresponding to posted price optimal mechanisms is derived along with full characterization of the convex hull of integer solutions. A further robustness concept is then introduced for a social planner unsure about the buyer or seller valuation distribution, a corresponding worst-case design problem over a set of possible distributions is formulated as an integer linear programming problem, and a polynomial solution procedure is given. When budget balance requirement is relaxed to feasibility only, i.e., when one allows an intermediary maximizing the expected surplus from trade, a characterization of the optimal robust trade as the solution of a simple linear program is given. Keywords: Mechanism design, bilateral trade, robustness, integer programming, duality.