This paper identifies and quantifies –for the first time– the relative importance of borrower (credit demand) versus bank (supply) balance-sheet channels. We submit fictitious applications (varying households’ characteristics) to the major Italian online-mortgage platform. In this way we ensure that all banks receive exactly the same mortgage applications, and that –for each application– there are other identical ones except for one borrower-level characteristic. We find that: (i) Borrower and bank channels are equally strong in causing (and explaining) loan acceptance (each channel changes acceptance by 50 p.p. for the interquartile range and explains 29% of R-square). (ii) Differently, for pricing, borrower factors are much stronger. (iii) Banks supplying less credit accept riskier borrowers. Finally –exploiting administrative credit register data– we document borrower-lender assortative matching: safer banks have more credit relations with safer firms. Moreover, the measure of credit supply estimated in the experiment (differently from a very similar measure estimated from the observational mortgage data) determines bank credit supply to firms and risk-taking in administrative data.