Developer documentation

Build against the live Sentinel testnet.

Wallet configuration, JSON-RPC, deployed contracts, faucet policy, post-quantum account boundaries and validator operations for sps-testnet-1.

Chain 77702SPS gasEVM compatiblePublic testnet
Testnet only. SPS and SUSD on this network have no monetary value. The ledger is public and the implementation has not had an independent security audit.

Quickstart

  1. Add Sentinel Chain to an EVM wallet from the homepage.
  2. Request one test SPS from the faucet.
  3. Send SPS, deploy a Solidity contract or use the fixed-supply token launcher.
  4. Inspect the result at explorer.sentinelchain.net.

Wallet setup

FieldValue
Network nameSentinel Chain testnet
RPC URLhttps://rpc.sentinelchain.net/
Chain ID77702 / 0x12f86
Native currencySPS, 18 decimals
Explorerhttps://explorer.sentinelchain.net/
Cosmos chain IDsps-testnet-1
Base denominationasps

Machine-readable metadata is available at /chain.json.

JSON-RPC

The public edge accepts validated JSON-RPC 2.0 calls in the eth, net and web3 namespaces. It applies request-size, batch and concurrency limits before forwarding to the validator’s loopback EVM service.

curl https://rpc.sentinelchain.net/ \ -H "content-type: application/json" \ --data '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'

Expected result: 0x12f86. Debug, personal and other private namespaces are refused.

Browser access

CORS is enabled for JSON requests. Applications should verify eth_chainId before asking a wallet to sign. Heavy historical queries should be paginated and cached by the application.

Deployed contracts

ContractAddressRole
ML-DSA-65 verifier0x0000000000000000000000000000000000000101Native precompile
Token factory0xD6eeA6F8d907924dF5D2830E8Ef11dBe3b88cE23Fixed-supply ERC-20 registry
SUSD0x96B4aF84FB44a0c0B51AF0A076B505925b55FF8dTest stablecoin contract
SUSD issuer0x54092B7284526111619DE52c9AF7BB62bEd3B9302-of-3 ML-DSA multisig
PQ demo wallet0x46d2fBcBb0fdc0b3458730b360332fd7247Ad4cfML-DSA-only account
PQ account factory0xBEbFF0531Bc66c393505f479b4dC8FEc72d48e6aCreates ML-DSA and hybrid accounts at predictable addresses; migrate() moves a wallet's SPS and tokens into one in a single transaction (EIP-2612 permits)
Migrated PQ wallet0x39f195Fccd736A0F707a6fB40ABCAC733fdA268bDemo: created through the factory, funded by a live migrate() of 1 SPS + 1,000 DEMO
DEMO token0x48eaE18f34e43CDc5b1aE6bEFcF9866D6662FAcfFactory-created test ERC-20
Verify the address. Token names and most symbols are not unique. “Official” in the explorer means the address appears in the reviewed deployment record.

Token factory

createToken(string name, string symbol, uint8 decimals, uint256 supply) deploys a standard ERC-20. The complete supply is minted once to msg.sender; the resulting token has no later mint function.

  • Name: 1–64 UTF-8 bytes.
  • Symbol: 1–11 ASCII letters or digits.
  • Decimals: 0–18.
  • Supply: greater than zero and expressed in base units.
  • SPS, SUSD and WSPS are reserved symbols.

The browser launcher estimates gas, adds a 20% margin, waits for the receipt and offers the created asset to the connected wallet.

Post-quantum accounts

MLDSA65Account

Authority is an ML-DSA-65 public key. A relayer may submit a signed operation and pay gas, but cannot alter the target, value, calldata, nonce or deadline.

MLDSA65HybridAccount

Every operation requires both an ordinary EVM wallet signature and an ML-DSA-65 signature over the same domain-separated operation. Either signature missing or invalid causes the operation to fail closed.

MLDSA65Multisig

Up to ten ML-DSA-65 signers can authorize M-of-N operations. SUSD’s administrator and master-minter roles are held by a 2-of-3 instance on this testnet.

Wallet boundary. MetaMask does not hold ML-DSA keys. Standard EOAs remain classical; use a PQ or hybrid contract account for post-quantum authorization.

Faucet policy

The faucet owns a dedicated limited account—not a validator or operator key. It sends one test SPS per address every 24 hours, permits up to five daily claims per source network and caps the whole network at 500 claims per day.

The faucet stores the destination address, source IP, request time and transaction hash for abuse control. See the privacy notice.

Security boundaries

BoundaryProtectionStatus
Consensus votesML-DSA-65, FIPS 204Live
Peer confidentialityX25519 + ML-KEM-768, FIPS 203Live
Peer identityed25519 + pinned ML-DSA-65Live
Native accountsML-DSA-65 signing supportedLive
Contract accountsML-DSA-only, hybrid and multisigDeployed
Software releasesML-DSA-65 signed checksumsLive
Ordinary EVM EOAssecp256k1Classical by design

Validator operations

The public testnet currently has one validator VDS in Chicago and one in Corpus Christi. They run on separate physical hosts and require both cities online to produce blocks. They remain under one operator, so this is geographic redundancy—not production operator decentralization.

Production validator hosts supported by the go-live kit are Ubuntu 22.04, Ubuntu 24.04 and Debian 12 on x86-64. Genesis and joining flows require ML-DSA-65 consensus keys, pinned PQ peer identities, loopback APIs and host firewall rules.

Production target: at least four validators across at least three independent sites and operators, with no single validator holding two-thirds voting power.

Current limits

  • No independent cryptography, contract or infrastructure audit has been completed.
  • The public testnet is transparent and fully traceable; there are no confidential transactions.
  • The public RPC is a testing service without an availability guarantee.
  • SUSD uses a test attestation and has no real reserve account.
  • No bridges or public oracle network exist.
  • Final production tokenomics, IDs, governance policy and operator set are undecided.