VCA-1 & VCA-2 are build arround differential transistor pairs. The circuits are suitable for input voltages of 5Vpp, the output level of my VCOs, however the clipping level is somewhat higher, around 7Vpp. If you use higher voltages in your system you might raise the input resistors to 150k. Both circuits have linear control voltage response. VCA-2 is a more streamlined version of VCA-1, the circuit has also an inverting input to simulate ringmodulation via a nulling method. One problem of these discrete VCAs is thermal drift of the transistors, this causes the CV rejection to vary (As was pointed out by Jörgen Bergfors). The best cure for this would be to use a dual transistor pair as in a CA3086 or (my favourite) 2SC1583. In my latest VCA-2s I have used a 2SC1583 instead of the BC550s with good results. Feedtrough was lower than 2mV, and the offset was very low. But heat radiation could still ruin the stability. A styrofoam insulation for the dual transistor might be a good idea.
My latest VCA is the one in the picture VCA3. This is the VCA that I use inside my so called "Blue Box". It is based on VCA 2, but shows a number of minor improvements (which can be retrofitted to VCA2). I have also shown my external pot connections. These were left out on the VCA2 drawing. I added a trimpot at the inverting input, so that the output offset can be eliminated. This makes it DC accurate. The adjustment is somewhat tricky, since it interacts with the CV rejection pot. You will have to adjust the trimmers alternatingly. Its well worth the effort, with careful adjustments you get it basically thump free. (But beware that your breath might have an impact on the setting, best is to insulate the pair with styrofoam or something.) Also there is the trimmer called "deaf-zone elimination" by which you can shift the point where the gain goes to 0, so that with 0V input (and the manual pot at the lowest setting) the VCA is just closed.
The last image shows some improvements to the VCA3. A summing amplifier was added, and the current through the pair transistor raised by adding a second sink transistor. So the CV input can now be the standard 100k. To keep the gain the same some resistor values have been changed as well.
The next schematic shows a simple ringmodulator with DC coupled inputs build arround an MC1496. In contrast to the VCAs 1&2 this Ringmodulator is DC accurate, you can precisely set the output to be at zero when either of the inputs is at zero.
And here is a version with higher gain, which allows you to obtain 5Vpp waveforms on the output when using 5Vpp on the input. The limits given in the schematic are meant for preventing the output to clip you may not exceed 3.5V simultaneously at both inputs. However as long as the product is lower than the clipping level, you can drive the inputs above 3.5V.