One vial, two compounds, one draw volume. This calculator splits a co-mixed BPC-157 and TB-500 vial into what each component actually delivers at every draw, then checks that draw against each compound’s own upper bound.
Set your vial composition, water volume, experience level and body weight. The per-component breakdown, the three-phase titration table and the supplies plan all recompute. Every dose figure is read from the Klarovel engine’s dose table, never typed into the page.
Vial composition
Vial contents, not doses. Confirm against the label on the vial in front of you before you mix.
Bacteriostatic water added
Experience with injectable peptides
Body weight
Standard phase, single shared draw
9.0 units
0.09 ml on a 100-unit insulin syringe
BPC-157
on target300 mcg
target 300 mcg, ceiling 500 mcg
TB-500 (Thymosin Beta-4)
under target0.3 mg
target 2.4 mg, ceiling 2.5 mg
The draw is set by BPC-157, which reaches its target first. Every other component is read off the same draw because a blend has one ratio.
What each draw volume actually delivers per component at 3 ml of bacteriostatic water and the vial composition selected above. These are mathematical breakdowns of the vial, not dose recommendations. The targets and ceilings are in the titration table below.
| Draw | Volume | BPC-157 | TB-500 (Thymosin Beta-4) |
|---|---|---|---|
| 2 units | 0.02 ml | 66.7 mcg | 0.067 mg |
| 4 units | 0.04 ml | 133.3 mcg | 0.133 mg |
| 5 units | 0.05 ml | 166.7 mcg | 0.167 mg |
| 6 units | 0.06 ml | 200 mcg | 0.2 mg |
| 8 units | 0.08 ml | 266.7 mcg | 0.267 mg |
| 10 units | 0.1 ml | 333.3 mcg | 0.333 mg |
| 12 units | 0.12 ml | 400 mcg | 0.4 mg |
| 15 units | 0.15 ml | 500 mcg | 0.5 mg |
| 20 units | 0.2 ml | 666.7 mcg | 0.667 mg |
| 25 units | 0.25 ml | 833.3 mcg | 0.833 mg |
| 30 units | 0.3 ml | 1000 mcg | 1 mg |
| 40 units | 0.4 ml | 1333.3 mcg | 1.333 mg |
| 50 units | 0.5 ml | 1666.7 mcg | 1.667 mg |
Arithmetic over the vial composition and your water volume. The display unit per component is the unit that component's row declares in the engine dose table.
Three phases, in the order the engine escalates a dose: opening, standard, then upper. Every figure below is the beginner row of the engine dose table for that component, after the modifiers your inputs trigger. Change experience level, weight or age above and the whole table recomputes.
Phase 1, opening dose
draw 7.5 units
| Component | Delivered | Target | Draw for target | Ceiling |
|---|---|---|---|---|
| BPC-157 | 250 mcg | 250 mcg | 7.5 units | 500 mcg |
| TB-500 (Thymosin Beta-4) | 0.25 mg | 2.4 mg | 72.0 units | 2.5 mg |
The components' own targets are reached 9.6x apart in draw volume, so one draw cannot satisfy them all. TB-500 (Thymosin Beta-4) lands under target at this draw. Reaching that target would mean drawing further and pushing another component past its ceiling, which is why the volume stops here.
Phase 2, standard dose
draw 9.0 units
| Component | Delivered | Target | Draw for target | Ceiling |
|---|---|---|---|---|
| BPC-157 | 300 mcg | 300 mcg | 9.0 units | 500 mcg |
| TB-500 (Thymosin Beta-4) | 0.3 mg | 2.4 mg | 72.0 units | 2.5 mg |
The components' own targets are reached 8x apart in draw volume, so one draw cannot satisfy them all. TB-500 (Thymosin Beta-4) lands under target at this draw. Reaching that target would mean drawing further and pushing another component past its ceiling, which is why the volume stops here.
Phase 3, upper dose
draw 12.0 units
| Component | Delivered | Target | Draw for target | Ceiling |
|---|---|---|---|---|
| BPC-157 | 400 mcg | 400 mcg | 12.0 units | 500 mcg |
| TB-500 (Thymosin Beta-4) | 0.4 mg | 2.4 mg | 72.0 units | 2.5 mg |
The components' own targets are reached 6x apart in draw volume, so one draw cannot satisfy them all. TB-500 (Thymosin Beta-4) lands under target at this draw. Reaching that target would mean drawing further and pushing another component past its ceiling, which is why the volume stops here.
Targets, upper bounds and ceilings read from dose_protocols, the engine's dose table. Weight scaling applies only where PEPTIDE_CATALOG flags a component weight sensitive. The 0.75x age reduction is the engine's own contraindication rule for age 65 and over.
What your body weight does, and does not, change
Weight sensitive: TB-500 (Thymosin Beta-4) at 0.03 mg/kg. The engine catalog carries a per-kilogram factor for this component, so the weight you entered sets the target directly and is then held inside the beginner ceiling.
Not weight sensitive: BPC-157. The catalog does not flag this component weight sensitive and the dose calculator applies no weight scaling of its own, so changing the weight field does not move its target. Scaling every compound by body mass would be an invention, so the tool does not do it.
One on-cycle runs 12 weeks, followed by 4 weeks off.
Options come from the components' own frequency strings: BPC-157 is once to twice daily, TB-500 (Thymosin Beta-4) is twice weekly. Where those disagree there is no single correct value, so the default is the most conservative one the data supports.
| Cycle length | 12 weeks |
|---|---|
| Administrations per week | 2 |
| Total administrations | 24 |
| Vials | 1 |
| Insulin syringes | 24 (30-unit holds the draw) |
| Bacteriostatic water | 3 ml, 1 bottle of 10 ml |
Cycle length from PEPTIDE_CATALOG cycling data. Administrations per week derived from the frequency string on each component's dose row. Vial and syringe counts are arithmetic over your draw volume and water volume.
Route, timing, frequency and cycling per component, read from the engine catalog.
| Component | Route | Timing | Frequency | Cycle | Loading phase |
|---|---|---|---|---|---|
| BPC-157 | subcutaneous | Any time | once to twice daily | 12 on / 4 off | None |
| TB-500 (Thymosin Beta-4) | subcutaneous | Any time | twice weekly | 12 on / 4 off | 4 weeks at 2x |
Route, timing and cycling from PEPTIDE_CATALOG. Frequency from the beginner row of dose_protocols.
A blend is one ratio in one vial. There is exactly one draw volume, and it has to serve every component at once. When the ratio does not match the ratio of the components' own targets, something has to give: either a component lands under its target, or another is pushed toward its ceiling. The table above says which, for your inputs, rather than printing a single volume and leaving it unresolved.
Contraindications are the second limit. A protocol can drop one compound and keep the rest. A blend cannot, because the compounds share a vial. If a health condition rules out one component, it rules out the vial.
A Klarovel protocol is built from your health data. Blood work is optional and sharpens the result, but it never gates it. The engine resolves contraindications, sets the dose envelope by experience level, removes incompatible pairs and sets the cycling schedule. That is the difference between a calculator and a protocol.
Free founding-member access while spots last. We'll send your reconstitution + a link to claim your slot.
Same engine, different vial. Pick the page that matches what you actually have in front of you: the component list and the ratio change the arithmetic completely.
These papers cover the mechanism and clinical context of BPC-157 and thymosin beta 4, the parent protein TB-500 is a fragment of.
The dose figures on this page are not sourced from these papers. They are read from the Klarovel engine's own dose table, which is cited inline wherever a number appears. These references cover mechanism, pharmacology and clinical context.
16 references, every identifier resolved against NCBI on 2026-07-30. Per peptide, a relevance-sorted esearch was run and every returned id was resolved through esummary. Any id esummary could not resolve was dropped, and any record carrying the 'Retracted Publication' pubtype was dropped. Titles, journals, years and first authors below are the values esummary returned, not authored text. One retracted record was dropped: PMID 37696839 (thymosin beta 4 query).
Beyond the arithmetic
The Klarovel engine reads your health data, resolves contraindications, sets the dose envelope by experience level, removes incompatible pairs and builds the cycling and monitoring schedule. Blood work is optional and sharpens the result. It is never required.