{
  "schemaVersion": 1,
  "kind": "swissdlt-protocol-facts",
  "title": "SwissDLT network and protocol facts",
  "note": "Every value lists the keys of its sources; the sources are at the end. Status values say what is live, what is an MVP and what is only a plan.",
  "observedAt": "2026-11-08T12:02:46Z",
  "network": {
    "chainId": {
      "value": 94,
      "hex": "0x5e",
      "sources": [
        "rpc",
        "website-network"
      ]
    },
    "networkId": {
      "value": 94,
      "sources": [
        "rpc"
      ]
    },
    "client": {
      "value": "go-ethereum",
      "sources": [
        "website-network"
      ]
    },
    "consensus": {
      "value": "Clique proof of authority",
      "sources": [
        "website-network",
        "rpc"
      ]
    },
    "blockPeriodSeconds": {
      "value": 4,
      "observedAverageLast100Blocks": 4.0,
      "sources": [
        "website-network",
        "rpc"
      ]
    },
    "epochBlocks": {
      "value": 30000,
      "evidence": "The header of block 27'300'000 (a multiple of 30'000) lists the signers; block 27'300'001 lists none.",
      "sources": [
        "website-network",
        "rpc"
      ]
    },
    "signers": {
      "value": [
        "0x25b6d134d9bf80e1c7067f6863f93a40d73b9600",
        "0x6553598fe9b2a9fe833310afa5a9b47706d27268",
        "0xb9861de78c155a01f462c86780965efac034f8fd",
        "0xcb10bc239f3f2f66e3dafd49cdb5fdc29a529d1f",
        "0xd6bf33d18c9735fb29c31fab4e99ea9711de24c6",
        "0xf262c129eaa162d307bde38e4baa38c511f2837f"
      ],
      "count": 6,
      "listedAtBlock": 27300000,
      "sources": [
        "rpc",
        "website-network"
      ]
    },
    "evmVersion": {
      "value": "berlin",
      "sources": [
        "website-docs-evm",
        "studio-contracts"
      ]
    },
    "transactionType": {
      "value": 0,
      "label": "legacy",
      "sources": [
        "website-docs-evm",
        "studio-deployment"
      ]
    },
    "gasPriceWei": {
      "value": 1000000000,
      "gwei": 1.0,
      "sources": [
        "rpc",
        "website-docs-evm"
      ]
    },
    "eip1559BaseFee": {
      "value": false,
      "evidence": "The head block header has no baseFeePerGas field.",
      "sources": [
        "rpc",
        "website-docs-evm"
      ]
    },
    "finalityTags": {
      "value": "No safe or finalized block tags; wait for confirmations and follow the association's checkpoint policy for high-value flows",
      "sources": [
        "website-docs-evm"
      ]
    },
    "nativeCurrency": {
      "value": {
        "name": "BCTS",
        "symbol": "BCTS",
        "decimals": 18
      },
      "sources": [
        "swap-contracts",
        "website-network"
      ]
    },
    "genesisAllocationBcts": {
      "value": "72000003",
      "sources": [
        "website-network"
      ]
    },
    "blockReward": {
      "value": "none",
      "sources": [
        "website-network"
      ]
    },
    "genesisHash": {
      "value": "0x4a645a22b8540f57400bad6db13a0866f5a7e612e42b39d5be24fe60aebf4151",
      "sources": [
        "rpc",
        "website-network"
      ]
    },
    "currentNetworkSince": {
      "value": "2023-05-18T07:11:34Z",
      "block": 1,
      "unixTime": 1684393894,
      "sources": [
        "rpc",
        "website-network"
      ]
    },
    "rpc": {
      "value": [
        "https://rpc.swissdlt.ch",
        "https://rpc2.swissdlt.ch"
      ],
      "access": "No key; cross-origin requests allowed; no documented rate limit or service level",
      "sources": [
        "website-docs-rpc",
        "rpc"
      ]
    },
    "websocket": {
      "value": "wss://rpc.swissdlt.ch/ws",
      "note": "The root path does not upgrade",
      "sources": [
        "website-docs-rpc"
      ]
    },
    "explorer": {
      "value": "https://explorer.swissdlt.tech",
      "sources": [
        "website-network"
      ]
    }
  },
  "protocols": [
    {
      "id": "swissproof-anchoring",
      "service": "SwissProof",
      "origin": "https://timestamp.swissdlt.tech",
      "status": {
        "value": "live, beta",
        "sources": [
          "website-build-swissproof"
        ]
      },
      "summary": "Files are hashed in the browser and blinded with a random salt. Commitments are batched into a Merkle tree, the service signs a checkpoint, and the Merkle root is anchored on SwissDLT in a zero-value self-transfer. Anyone can verify an evidence package later with the original file.",
      "commitment": {
        "value": "Default commitments use SHA-256 with a random 256-bit salt",
        "sources": [
          "swissproof-handover",
          "swissproof-llms"
        ]
      },
      "domainSeparators": {
        "value": {
          "file": "SWISSPROOF-FILE-V1\\0",
          "merkleNode": "SWISSPROOF-MERKLE-V1\\0",
          "checkpoint": "SWISSPROOF-CHECKPOINT-V1",
          "anchor": "SWISSPROOF-SWISSDLT-V1\\0"
        },
        "sources": [
          "swissproof-merkle-code",
          "swissproof-anchor-code"
        ]
      },
      "evidence": {
        "value": "Evidence includes blinded commitments, Merkle inclusion proofs, and Ed25519-signed checkpoints",
        "sources": [
          "swissproof-handover",
          "swissproof-llms"
        ]
      },
      "anchorTransaction": {
        "value": {
          "chainId": 94,
          "type": 0,
          "value": "0",
          "to": "the anchor account itself (self-transfer)",
          "data": "UTF-8 bytes of the anchor domain prefix followed by exactly one 32-byte Merkle root",
          "dataPrefixHex": "0x535749535350524f4f462d5357495353444c542d563100",
          "schema": "ch.swissproof.swissdlt-anchor/1.0",
          "gasLimitBufferPercent": 20.0
        },
        "sources": [
          "swissproof-anchor-code",
          "swissproof-handover",
          "swissproof-llms"
        ]
      },
      "anchorAccount": {
        "value": "0xa382A565F410ED58cBD31036c5a9bB0612343201",
        "explorerUrl": "https://explorer.swissdlt.tech/#/address/0xa382A565F410ED58cBD31036c5a9bB0612343201",
        "sources": [
          "swissproof-handover",
          "swissproof-llms"
        ]
      },
      "freeTier": {
        "value": "10 successful timestamps per principal per Europe/Zurich day; reads and verification do not use the quota",
        "sources": [
          "swissproof-handover",
          "swissproof-llms"
        ]
      },
      "interfaces": {
        "value": {
          "rest": "https://timestamp.swissdlt.tech/api/v1",
          "openApi": "https://timestamp.swissdlt.tech/api/v1/openapi.json",
          "mcp": "https://timestamp.swissdlt.tech/mcp",
          "mcpTools": [
            "proof_submit",
            "receipt_get",
            "receipt_list",
            "anchor_run",
            "proof_upgrade",
            "proof_verify",
            "chain_status",
            "anchor_wallet",
            "quota_get"
          ]
        },
        "sources": [
          "swissproof-handover",
          "mcp"
        ]
      },
      "limits": {
        "value": "A successful verification proves byte equality and the cited attestations. It does not prove that the content was true, lawful or accurate.",
        "sources": [
          "website-build-swissproof"
        ]
      }
    },
    {
      "id": "swissdlt-bridge-mvp",
      "service": "Bridge MVP",
      "origin": "https://bridge.swissdlt.tech",
      "status": {
        "value": "MVP, not deployed: the vault and token addresses are empty and the health endpoint reports not_ready",
        "sources": [
          "bridge-config",
          "website-build-bridge"
        ]
      },
      "version": {
        "value": "mvp-1.1-two-way",
        "sources": [
          "bridge-config"
        ]
      },
      "route": {
        "value": {
          "source": {
            "network": "SwissDLT",
            "chainId": 94,
            "asset": "native BCTS",
            "contract": "SwissDLTNativeVault"
          },
          "destination": {
            "network": "DogeOS Chikyū Testnet",
            "chainId": 6281971,
            "asset": "sdBCTS",
            "contract": "DogeOSWrappedBCTS"
          }
        },
        "sources": [
          "bridge-config",
          "bridge-mvp-guide"
        ]
      },
      "flow": {
        "value": [
          "Lock native BCTS in SwissDLTNativeVault on SwissDLT chain 94.",
          "Relay the confirmed deposit and mint sdBCTS on DogeOS Chikyū chain 6281971.",
          "Call burnForSwissDLT with a SwissDLT recipient to burn sdBCTS on DogeOS.",
          "Relay the confirmed return event and release native BCTS from the vault."
        ],
        "model": "lock and mint outbound; burn and release on return",
        "sources": [
          "bridge-mvp-guide"
        ]
      },
      "confirmations": {
        "value": {
          "swissdlt": 30,
          "dogeos": 10
        },
        "note": "Default 30 SwissDLT blocks; a heuristic, not Clique finality. Default 10 Chikyū blocks; a heuristic, not proof of Dogecoin settlement.",
        "sources": [
          "bridge-config",
          "bridge-mvp-guide"
        ]
      },
      "caps": {
        "value": "Defaults to 1 BCTS/deposit and 10 BCTS lifetime source deposits; token cap applies to current supply",
        "sources": [
          "bridge-mvp-guide"
        ]
      },
      "replayProtection": {
        "value": {
          "depositId": "keccak256(SwissDLT chain ID, vault, deposit nonce)",
          "returnId": "keccak256(DogeOS chain ID, token, return nonce)"
        },
        "sources": [
          "bridge-mvp-guide"
        ]
      },
      "trustModel": {
        "value": "Separate single relayers and RPC views in each direction; no threshold or consensus proof. No external audit.",
        "sources": [
          "bridge-mvp-guide",
          "website-build-bridge"
        ]
      },
      "warning": {
        "value": "Please do not send value.",
        "sources": [
          "website-build-bridge"
        ]
      }
    },
    {
      "id": "swissdlt-bridge-hyperlane-plan",
      "service": "Bridge",
      "status": {
        "value": "plan, not built",
        "sources": [
          "website-build-bridge",
          "website-docs-bridges"
        ]
      },
      "summary": {
        "value": "Native BCTS collateral on SwissDLT backing a synthetic ERC-20 on Base through a Hyperlane Warp Route; SwissDLT to Base is the first corridor.",
        "sources": [
          "website-docs-bridges",
          "website-build-bridge"
        ]
      },
      "validators": {
        "value": "3 of 5 independent validators",
        "sources": [
          "website-build-bridge",
          "website-docs-bridges"
        ]
      },
      "controls": {
        "value": [
          "rate limits",
          "timelocked administration",
          "daily supply reconciliation",
          "external review"
        ],
        "sources": [
          "website-docs-bridges",
          "website-build-bridge"
        ]
      },
      "gate": {
        "value": "Association readiness first: key inventory, signed asset registry, finality policy for Clique",
        "sources": [
          "website-build-bridge"
        ]
      },
      "estimate": {
        "value": "12 to 22 person-weeks plus an external review for the first corridor",
        "sources": [
          "website-docs-bridges"
        ]
      }
    },
    {
      "id": "swissdlt-swap-uniswap-v3",
      "service": "SwissDLT Swap",
      "origin": "https://swap.swissdlt.tech",
      "status": {
        "value": "live",
        "sources": [
          "website-build-swap"
        ]
      },
      "protocol": {
        "value": "Uniswap v3",
        "sources": [
          "swap-deployment",
          "swap-contracts"
        ]
      },
      "packages": {
        "value": {
          "@uniswap/v3-core": "1.0.1",
          "@uniswap/v3-periphery": "1.4.4"
        },
        "sources": [
          "swap-deployment"
        ]
      },
      "factory": {
        "value": "0x3c17473e017806b1b93A406B79f2272faaA6cD99",
        "deploymentBlock": 27317684,
        "explorerUrl": "https://explorer.swissdlt.tech/#/address/0x3c17473e017806b1b93A406B79f2272faaA6cD99",
        "sources": [
          "swap-deployment"
        ]
      },
      "poolInitCodeHash": {
        "value": "0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54",
        "sources": [
          "swap-deployment"
        ]
      },
      "wrappedNative": {
        "value": "0x4C9204BE7d41E8b1d0f8025A60110d866C0574Ad",
        "sources": [
          "swap-deployment"
        ]
      },
      "feeTiers": {
        "value": [
          500,
          3000,
          10000
        ],
        "percent": [
          0.05,
          0.3,
          1.0
        ],
        "sources": [
          "studio-deployment",
          "website-build-swap"
        ]
      },
      "custody": {
        "value": "Swaps are signed in the user's own wallet; the service holds no keys and its MCP tools prepare unsigned transactions only.",
        "sources": [
          "website-build-swap",
          "website-build-agents"
        ]
      },
      "contractDirectory": "https://swissdlt.tech/.well-known/contracts.json"
    },
    {
      "id": "swissdlt-token-studio-fixed-supply",
      "service": "SwissDLT Token Studio",
      "origin": "https://studio.swissdlt.tech",
      "status": {
        "value": "live, not independently audited",
        "sources": [
          "studio-contracts",
          "website-build-studio"
        ]
      },
      "issuance": {
        "value": "A plain ERC-20 with a fixed supply, created with a fresh Uniswap v3 pool and a full-range position in one transaction",
        "sources": [
          "website-build-studio"
        ]
      },
      "tokenDecimals": {
        "value": 18,
        "sources": [
          "studio-contracts"
        ]
      },
      "platformFeeBps": {
        "value": 0,
        "sources": [
          "studio-contracts"
        ]
      },
      "liquidity": {
        "value": "issuer-funded two-sided full-range",
        "sources": [
          "studio-contracts"
        ]
      },
      "custody": {
        "value": "permanent collect-only NFT vault",
        "note": "Liquidity principal is locked permanently; only trading fees reach the fixed beneficiary.",
        "sources": [
          "studio-contracts"
        ]
      },
      "hostedSigning": {
        "value": false,
        "sources": [
          "studio-contracts"
        ]
      },
      "noAdmin": {
        "value": "No administrator, upgrade key, extra mint or transfer tax; pre-created pools are rejected",
        "sources": [
          "website-build-studio"
        ]
      },
      "launcher": {
        "value": "0xfaf3ef2B344388b48117D336bCCDbcA7999DECdB",
        "deploymentBlock": 27319106,
        "explorerUrl": "https://explorer.swissdlt.tech/#/address/0xfaf3ef2B344388b48117D336bCCDbcA7999DECdB",
        "sources": [
          "studio-contracts"
        ]
      },
      "build": {
        "value": {
          "compiler": "0.8.24+commit.e11b9ed9.Emscripten.clang",
          "evmVersion": "berlin",
          "contracts": [
            "PermanentLiquidityVault",
            "StudioToken",
            "SwissTokenStudio"
          ]
        },
        "sources": [
          "studio-contracts"
        ]
      },
      "usesSwapContracts": {
        "value": [
          "0x3c17473e017806b1b93A406B79f2272faaA6cD99",
          "0x2E9DAA82Fa0787bb89f0e7EFfab1A2767f59Cf9d",
          "0x4C9204BE7d41E8b1d0f8025A60110d866C0574Ad"
        ],
        "note": "Constructor arguments: Swap factory, position manager and wrapped BCTS",
        "sources": [
          "studio-deployment"
        ]
      }
    }
  ],
  "sources": {
    "rpc": {
      "type": "JSON-RPC observation",
      "urls": [
        "https://rpc.swissdlt.ch",
        "https://rpc2.swissdlt.ch"
      ],
      "observedAt": "2026-11-08T12:02:46Z",
      "results": {
        "eth_chainId": "0x5e",
        "net_version": "94",
        "genesisHash": "0x4a645a22b8540f57400bad6db13a0866f5a7e612e42b39d5be24fe60aebf4151",
        "block1Timestamp": 1684393894,
        "eth_gasPrice": 1000000000,
        "head": 27335841,
        "headHasBaseFeePerGas": false,
        "averageBlockSeconds_last100": 4.0,
        "checkpoint27300000Signers": [
          "0x25b6d134d9bf80e1c7067f6863f93a40d73b9600",
          "0x6553598fe9b2a9fe833310afa5a9b47706d27268",
          "0xb9861de78c155a01f462c86780965efac034f8fd",
          "0xcb10bc239f3f2f66e3dafd49cdb5fdc29a529d1f",
          "0xd6bf33d18c9735fb29c31fab4e99ea9711de24c6",
          "0xf262c129eaa162d307bde38e4baa38c511f2837f"
        ],
        "block27300001SignerBytes": 0
      },
      "note": "Both public endpoints returned the same values."
    },
    "mcp": {
      "type": "MCP tools/list observation",
      "observedAt": "2026-11-08T12:02:46Z",
      "results": {
        "swap": [
          "swissdlt_get_protocol",
          "swissdlt_get_token",
          "swissdlt_get_balance",
          "swissdlt_get_pool",
          "swissdlt_list_pools",
          "swissdlt_quote_swap",
          "swissdlt_list_positions",
          "swissdlt_get_transaction_receipt",
          "swissdlt_prepare_swap",
          "swissdlt_prepare_wrap",
          "swissdlt_prepare_unwrap"
        ],
        "studio": [
          "swissdlt_studio_get_info",
          "swissdlt_studio_check_health",
          "swissdlt_studio_list_launches",
          "swissdlt_studio_read_launch",
          "swissdlt_studio_prepare_launch",
          "swissdlt_studio_prepare_collect_fees",
          "swissdlt_studio_prepare_release_vesting"
        ],
        "bridge": [
          "get_bridge_configuration",
          "get_bridge_documentation",
          "check_bridge_health"
        ],
        "oracle": [
          "protocol_info",
          "list_markets",
          "get_market",
          "token_info",
          "health"
        ],
        "swissproof": [
          "proof_submit",
          "receipt_get",
          "receipt_list",
          "anchor_run",
          "proof_upgrade",
          "proof_verify",
          "chain_status",
          "anchor_wallet",
          "quota_get"
        ]
      }
    },
    "website-network": {
      "type": "web page",
      "url": "https://swissdlt.tech/network.html#parameters",
      "note": "Parameters and signer set, recorded 7 November 2026"
    },
    "website-docs-evm": {
      "type": "web page",
      "url": "https://swissdlt.tech/docs.html#evm",
      "note": "Gas and EVM"
    },
    "website-docs-rpc": {
      "type": "web page",
      "url": "https://swissdlt.tech/docs.html#rpc",
      "note": "RPC and WebSocket"
    },
    "website-docs-bridges": {
      "type": "web page",
      "url": "https://swissdlt.tech/docs.html#bridges",
      "note": "Bridges"
    },
    "website-build-swissproof": {
      "type": "web page",
      "url": "https://swissdlt.tech/build.html#swissproof",
      "note": "SwissProof"
    },
    "website-build-bridge": {
      "type": "web page",
      "url": "https://swissdlt.tech/build.html#bridge",
      "note": "Bridge MVP and production plan"
    },
    "website-build-swap": {
      "type": "web page",
      "url": "https://swissdlt.tech/build.html#swap",
      "note": "SwissDLT Swap"
    },
    "website-build-studio": {
      "type": "web page",
      "url": "https://swissdlt.tech/build.html#studio",
      "note": "SwissDLT Token Studio"
    },
    "website-build-agents": {
      "type": "web page",
      "url": "https://swissdlt.tech/build.html#agents",
      "note": "For AI agents"
    },
    "swissproof-llms": {
      "type": "public file",
      "url": "https://timestamp.swissdlt.tech/llms.txt",
      "checkedAt": "2026-11-08T12:02:46Z",
      "note": "SwissProof's own summary; it states the same commitment, batching, checkpoint, anchoring and free-tier facts"
    },
    "swap-deployment": {
      "type": "committed file",
      "repo": "operalag/swissdlt-amm",
      "path": "deployments/94.json",
      "commit": "599be1634982ac07918a78e8e214acc97aa7b087",
      "committedAt": "2026-11-08T12:33:51+01:00",
      "access": "private repository",
      "publicUrl": "https://swap.swissdlt.tech/deployment.json"
    },
    "swap-contracts": {
      "type": "committed file",
      "repo": "operalag/swissdlt-amm",
      "path": "web/public/.well-known/contracts.json",
      "commit": "599be1634982ac07918a78e8e214acc97aa7b087",
      "committedAt": "2026-11-08T12:33:51+01:00",
      "access": "private repository",
      "publicUrl": "https://swap.swissdlt.tech/.well-known/contracts.json"
    },
    "studio-contracts": {
      "type": "committed file",
      "repo": "operalag/swissdlt-token-studio",
      "path": "web/public/.well-known/contracts.json",
      "commit": "2532517fc9ece3269d939f624b91c9756c2a684f",
      "committedAt": "2026-11-08T11:18:33+01:00",
      "access": "private repository",
      "publicUrl": "https://studio.swissdlt.tech/.well-known/contracts.json"
    },
    "studio-deployment": {
      "type": "committed file",
      "repo": "operalag/swissdlt-token-studio",
      "path": "config/deployment.json",
      "commit": "2532517fc9ece3269d939f624b91c9756c2a684f",
      "committedAt": "2026-11-08T11:18:33+01:00",
      "access": "private repository"
    },
    "bridge-config": {
      "type": "committed file",
      "repo": "operalag/swissdlt-bridges",
      "path": "public/config.json",
      "commit": "021beaff3e9fba1bddc4f1d0b8575ef568ea2e2b",
      "committedAt": "2026-11-08T12:35:01+01:00",
      "access": "private repository",
      "publicUrl": "https://bridge.swissdlt.tech/config.json"
    },
    "bridge-mvp-guide": {
      "type": "committed file",
      "repo": "operalag/swissdlt-bridges",
      "path": "docs/09-mvp-two-way.md",
      "commit": "021beaff3e9fba1bddc4f1d0b8575ef568ea2e2b",
      "committedAt": "2026-11-08T12:35:01+01:00",
      "access": "private repository"
    },
    "swissproof-anchor-code": {
      "type": "committed file",
      "repo": "operalag/swissdlt-operal-healthsector",
      "path": "src/swissdlt.mjs",
      "commit": "33dfc69463f725bec6a04297c781408447138c08",
      "committedAt": "2026-11-08T12:33:09+01:00",
      "access": "private repository"
    },
    "swissproof-merkle-code": {
      "type": "committed file",
      "repo": "operalag/swissdlt-operal-healthsector",
      "path": "src/merkle.mjs",
      "commit": "33dfc69463f725bec6a04297c781408447138c08",
      "committedAt": "2026-11-08T12:33:09+01:00",
      "access": "private repository"
    },
    "swissproof-handover": {
      "type": "committed file",
      "repo": "operalag/swissdlt-operal-healthsector",
      "path": "AGENTS.md",
      "commit": "33dfc69463f725bec6a04297c781408447138c08",
      "committedAt": "2026-11-08T12:33:09+01:00",
      "access": "private repository"
    }
  }
}
