> For the complete documentation index, see [llms.txt](https://argon-4.gitbook.io/argon-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://argon-4.gitbook.io/argon-docs/developers/upstream.md).

# Upstream pins

The upstream implementations, standards, and services Enclave is pinned to, with the version or commit, its authority, and the wallet's policy toward it.

Nothing consensus-sensitive in Enclave is invented here. Every such behaviour is read from an upstream source, pinned to a version or commit, and recorded with the date it was last verified. The full record, including open uncertainties per row, is `docs/UPSTREAM_MATRIX.md` in the repository; this page is the readable summary.

## How sources are ranked

When sources disagree, the higher-ranked one wins, and a lower-ranked one is never promoted to protocol truth.

| Rank | Source                                                        |
| ---: | ------------------------------------------------------------- |
|    1 | The released rusty-kaspa consensus implementation             |
|    2 | An active or accepted KIP                                     |
|    3 | Official Kaspa documentation                                  |
|    4 | An accepted KCC convention                                    |
|    5 | A maintainer's reference implementation and vectors           |
|    6 | A protocol's own implementation or indexer                    |
|    7 | Another wallet's compatibility behaviour (not protocol truth) |
|    8 | Community documentation                                       |

## Consensus

| Component                             | Pin                                            | Wallet policy                                                                                                                                                    |
| ------------------------------------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **rusty-kaspa**                       | `v2.0.1` @ `cfafeb4c`                          | Leaf crates compiled into the kernel: consensus types, txscript, hashing, addresses, bip32, wallet-keys, PSKT. Nothing reimplemented. Not the wallet-core vault. |
| Transaction v1 / Toccata              | same                                           | Native construction is version 1. Decodes v0 and v1. Mainnet Toccata activation DAA `474,165,565`.                                                               |
| KIP-9 mass                            | rusty-kaspa                                    | Mass and minimum relay fee computed by the reference code.                                                                                                       |
| KIP-10 introspection opcodes          | `kaspanet/kips` @ `e4ae2332` + rusty-kaspa     | Identify known opcodes. No generic script signing.                                                                                                               |
| KIP-17 covenants, KIP-20 covenant ids | same                                           | Decode, verify, and stamp ids with the reference hasher. Creation only through a reviewed pack.                                                                  |
| KIP-5 message signing                 | `kaspanet/kips` @ `0199f8d4`                   | `PersonalMessageSigningHash`; official vectors pass.                                                                                                             |
| Networks                              | rusty-kaspa `NetworkId`                        | Mainnet and testnet-10 only; `testnet-11`, devnet, simnet refused.                                                                                               |
| BIP39 / derivation                    | rusty-kaspa `kaspa-bip32`, `kaspa-wallet-keys` | `m/44'/111111'/{account}'/{0\|1}/{i}`; 24 words default, 12 accepted; optional passphrase.                                                                       |

## Standards and conventions

| Component                                                 | Pin                                                                      | Wallet policy                                                                                                                                                                                     |
| --------------------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **KIP-12 provider** (draft)                               | `kaspanet/kips` PR #44 @ `4fc711ac`; `kaspa-wallet-standard` npm 0.3.0   | Discovery, connect, accounts, chain id, public key, `signPskt`, `signPersonal`. Opaque send/sign/broadcast refused. Re-pin when the KIP moves.                                                    |
| **KCC-0001** covenant ABI, **KCC-0002** authority schemes | `kaspanet/kccs` @ `54f4f9c`                                              | Decode and inspect; creation gated.                                                                                                                                                               |
| **KCC-0020** fungible token                               | same                                                                     | Transfers, consolidation, receive settings and delegated receive for the exact qualified `enclave-kcc20-v1` artifact. Unknown programs remain inspect-only.                                       |
| KCC-0021 metadata, KIP-22 P2MR, KIP-18 Simplicity         | open PRs                                                                 | Track only.                                                                                                                                                                                       |
| **SilverScript compiler**                                 | `kaspanet/silverscript` `v1.0.0` @ `3ed97333`                            | Current program bytes reproduced unchanged. Existing `@v1-rc1` and `@v1-rc1-r1` identities are preserved; historical `140bf184` remains inspect-only. Compiled dumps ship, the compiler does not. |
| Argent compiler                                           | `argent-lang/argent` master @ `d08e52dd`; provenance branch @ `35bec64a` | Reference for the covenant-state-provenance invariant; nothing shipped.                                                                                                                           |
| **Kasia** messaging                                       | K-Kluster Kasia @ `acd3cf65`                                             | Cipher reimplemented with upstream fixtures; `ciph_msg:1:` written, `kchat:1:` read.                                                                                                              |
| Multisig, MuSig                                           | rusty-kaspa (no aggregation API at pin); SilverScript 2-of-3 source      | Inspect only. Not implemented.                                                                                                                                                                    |

## Indexed protocols

| Protocol    | Pin                                                                                                                                                             | Wallet policy                                                                                          |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| **KRC-20**  | Kasplex `go-krc20d` `3.01.260403` (mainnet), `3.01.260412` (testnet-10); API `api.kasplex.org/v1`, `tn10api.kasplex.org/v1`                                     | Deploy, mint, transfer. Indexer must report synced and `3.01.*`. Marketplace list/send refused.        |
| **KRC-721** | KAT indexer `v2.0.0`; envelope `kspr` from `aspectron/krc721` @ `45ce7987`; hosts `krc721-api.kat.foundation` (primary), `krc721.kat.foundation`, testnet hosts | Deploy, mint, transfer, discount. Holdings only from a synced indexer. Marketplace refused.            |
| **KNS**     | OpenAPI `0.1.4`; `api.knsdomains.org/{mainnet,tn10}`                                                                                                            | Resolve, pin exact address, re-resolve before plan and sign. Create, text, transfer, primary.          |
| **INS**     | Registry V2 contracts on Igra mainnet                                                                                                                           | Register, renew, forever, primary, target, listing operations. Subnames disabled upstream and refused. |

## Igra and providers

| Component        | Pin                                                                                                                                                                               | Wallet policy                                                                                                                                         |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Igra**         | Mainnet chain 38833, Galleon testnet 38836; endpoints `rpc.igralabs.com`, `galleon-testnet.igralabs.com`, `igra-node.kat.foundation`                                              | Reads proxied; every write carried by Kaspa. `eth_sendRawTransaction` has no path.                                                                    |
| **Kat Bridge**   | Entry vault and fee address pinned in kernel; `api.katbridge.com` for quotes; `Bridge.sol` `0x295ad12c…` and `NFTBridge.sol` `0x81Be24b3…` (verified source) with their L1 vaults | Entry 1 KAS fee, 10 KAS minimum; exit fee on Igra; token and collectible deposits 10 KAS, burn fees read live. API vault untrusted until on the plan. |
| **Zealous Swap** | Router, pools, Infinity Pools, NFT staking contracts pinned                                                                                                                       | Swap, wrap, stake, unstake, NFT stake. Pool fee named as the LPs'.                                                                                    |
| **Lynx**         | Vault and ticket contracts pinned                                                                                                                                                 | Deposit, redeem, claim; harvest fee is Lynx's.                                                                                                        |
| **Kaskad**       | Market, staking, reserve contracts pinned                                                                                                                                         | Supply, withdraw, stake, unstake, claim.                                                                                                              |
| **CoinGecko**    | Public `simple/price`, no key                                                                                                                                                     | Untrusted quote for the Enclave fee target; kernel clamps 1–20 KAS, 10 KAS fallback.                                                                  |
| **kascov.io**    | Live API, naming scheme read 2026-09-04                                                                                                                                           | Names and links for covenant ids. Data only; never policy.                                                                                            |

## Toolchain

| Tool                    | Pin                                            |
| ----------------------- | ---------------------------------------------- |
| Rust                    | `1.91.0` (`rust-toolchain.toml`)               |
| Node                    | `22.22.1` (`extension/package.json` `engines`) |
| `wasm-bindgen-cli`      | `0.2.100`                                      |
| WXT, Preact, TypeScript | `extension/package-lock.json`                  |
| Cargo crates            | `Cargo.lock`, checked by `cargo deny`          |

## Policy vocabulary

| Term                  | Meaning                                         |
| --------------------- | ----------------------------------------------- |
| **Enabled after pin** | Implemented once the commit or spec is recorded |
| **Feature-gated**     | Code may exist behind a flag; production off    |
| **Track only**        | Watched; no implementation                      |
| **Inspection-only**   | Decode and display; no signing                  |
| **Do not implement**  | Explicit non-goal until status changes          |

## Onboarding (not live)

Igra USDC cash-in and the Base mailbox factory are accepted designs, not pins. Hyperlane Base USDC → Igra has no funded round-trip yet. Peer, Halliday (mailbox destination), and Gelato are unpinned. Fill `docs/UPSTREAM_MATRIX.md` at implementation; do not treat this page as authority to show a Base address.
