This paper discusses a novel optimization method to design statically balanced manipulators. Only springs are used to balance the manipulators composed of revolute (R) joints. Since the total potential energy of the system is constant when statically balanced, the sum of squared differences between the two potential energy when giving different random values of joint variables is set as the objective function. Then the optimization tool of MATLAB is used to obtain the spring attachment points. The results show that for a 1-link manipulator mounted on an R joint, in addition to attaching the spring right above the R joint, the attachment point can have offset. It also indicates that an arbitrary spatial manipulator with n link, whose weight cannot be neglected, can be balanced using n springs. Using this method, the static balancing can be readily achieved, with multiple solutions.