XGC1 is a gyrokinetic particle-in-cell code, which can include the magnetic separatrix and the biased material wall. Lagrangian equation of motion is used for time advancing the particles, while conserving the mass, canonical angular momentum, and energy. The usual gyrokinetic Poisson equation is solved with the four-point averaging technique. The gyrokinetic-Poisson equations used in the present version of XGC1 are valid for the pedestal width much greater than gyroradius. Thus, the pedestal width needs to be at least ≃1 cm for B=2.1 T, with the average pedestal temperature of ～500 eV or higher in the pedestal (corresponding to the ion gyroradius 1 mm or somewhat greater) in a DIII-D edge plasma. XGC1 uses a realistic numerical magnetic equilibrium from a g-eqdsk file. A particle, momentum, and energy conserving Coulomb collision operation is built into the particle motion. The computational mesh used in XGC1 is unstructured triangular in the radial- poloidal plane, and regular in the toroidal direction. A typical computational mesh in XGC1 for ITG turbulence studies in a DIII-D size tokamak edge consists of ～64 toroidal, ～100 radial, and ～1,000 poloidal grid points. In order to handle the separatrix geometry without a mathematical difficulty, XGC1 uses a cylindrical coordinate system for the particle advances in time.