> ## Documentation Index
> Fetch the complete documentation index at: https://docs.provenmetal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Parts and substitutions

> Where parts come from and when they're swapped.

## Sourcing order

<Steps>
  <Step title="JLCPCB stock">Checked first, confirmed against its live API.</Step>
  <Step title="Authorized distributors">Digi-Key, Mouser, LCSC and others. Bought by ProvenMetal and shipped to JLCPCB. Never brokers or Global Sourcing.</Step>
  <Step title="ProvenMetal's team">Anything unbuyable goes to the team, with the reason in the quote.</Step>
</Steps>

## Missing part numbers

Lines with only a value or symbol (`LED_Red`) return `needs_part_numbers`. Add exact part numbers, or pass `staff_picks_parts=true`.

## Replacements

| Part | Rule |
| - | - |
| Passives (R, C, L, ferrite) | BOM alternates or exact-spec replacements, automatically |
| Actives, LEDs, diodes | Never swapped automatically |
| Unbuyable part | In-stock match offered as `similar_part` for approval |
| BOM alternates | Tried in order; price change shown |

Approve with `substitutions`, one per reference:

```json theme={"dark"}
{
  "substitutions": [
    { "reference": "R1", "original_mpn": "RC0402FR-0710KL", "replacement_mpn": "ERJ-2RKF1002X", "reason": "Same 10 kΩ 1% 0402, in stock" }
  ]
}
```

Priced instantly only if buyable as named and the package matches the footprint. Your files are never changed.

<Note>
  The agent gets your explicit approval before passing any replacement.
</Note>

## Your own parts

List parts you'll send in `customer_supplied_refs` (ship to 1230 Howard St, San Francisco, CA 94103). Unpopulated parts go in `do_not_fit_refs`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.