ResFrac is a combined hydraulic fracturing, reservoir, and hydraulic fracturing simulator. It describes multiphase fluid flow (black oil or compositional), proppant transport, transport of non-Newtonian fluid additives, and thermal transport. It also includes stress shadowing from fracture propagation and porothermoelastic responses from pressure change in the matrix. It uses constitutive equations that smoothly transition between equations for flow through an open crack to flow through a closed crack (with or without proppant). This document provides a detailed technical description of the code, along with validation simulations to confirm numerical accuracy.