10 in percolation theory [12]). In Fig. 2a of the main text we show how box-covering works for a simple network at two different ℓ values. This algorithm is driven by the proximity between nodes and the maximization of the mass associated with each module center [13, 29]. Thus it detects boxes that maximize modularity, Eq. (1). In the case of MEMB we have the additional benefit of detecting modules at different scales, so that we can study the hierarchical character of modularity, i.e. modules of modules, and we can detect whether modularity is a feature of the network that remains scale-invariant. The fractal dimension d$_{B}$ of a complex network is an exponent that determines how the mass (equivalently: the number of nodes) around any given node scales with the length, which in networks corresponds to the shortest distance between two nodes. In order to numerically measure this exponent we optimally cover the network with boxes using the MEMB algorithm. A box is a set of nodes where all distances ℓ$_{ij}$ between any two nodes i and j in this set are smaller than a given value of ℓ , the box size. Although there is a large number of coverings, for every value of ℓ we want to find the one which gives the smallest possible number of boxes, N$_{B}$ ( ℓ ). Varying ℓ then yields the scaling relation Eq. (3). A finite fractal dimension reveals fundamental organizational principles of the underlying network, namely a self-similar structural character, where the network is built in a similar way even though we observe it at different length-scales. The boxes that are identified through this process correspond to the modules at varying scales.