What this page can say
Facet 0.1.0-quote. The mark and colors are original to this project. Original to this project. Not a trademark or domain registration.
A page can show hashes of the files it was built with. That does not prove the site you are looking at is that build. Someone who replaces the whole page can replace the hashes too. From a source copy you already trust, run npm run manifest:check. It recomputes SHA-256 for the domain, the app, the logos, the icon, and the lockfile, and compares them with evidence/release-manifest.json. This page cannot do that check for you. There is no IPFS publish and no deployed content hash.
Unchanged is not the same as safe. This build does not claim a one-character shutdown, and it does not claim to be fully safe.
Gates
- WPLS, PLSX, HEX, INC, and PRVX are pinned runtime matches and are not EIP-1967 proxies. eHEX and eUSDC are the PulseChain bridge tokens for Ethereum HEX and USDC. The bridge controls those contracts. recompiledEqualsOnchain is false. This is not an audit.
- PulseX v1 and v2 routers match pinned Sourcify runtime bytecode and are not EIP-1967 proxies. Other venues stay quotes.
- A public eth_call is the preflight. It is not a receipt, not inclusion, and not a local-Anvil consensus proof.
- No phone was paired from this session. That does not block you from connecting your own wallet.
- WalletConnect project 98d2b8e7b64755853ff4718e8c90db65. The cloud allowlist is still empty until this site's HTTPS origin is added. Init runs only from Connect wallet.
Release checks
- source. Phone transport source. @walletconnect/sign-client and @walletconnect/universal-provider 2.26.0 are installed. They do not depend on AppKit. This build does not call UniversalProvider.init, because that starts a relay. A review is stored only after it matches the live session. After the provider is asked, only a 32-byte hash is evidence. A resolved status object is not a decline. A thrown user rejection with code 4001, or the SDK user rejection with code 5000 and its exact message, and no hash, can be submitted again. A copied pre-handoff flag is not a refusal. An ended generation stays ended.
- blocked. WalletConnect dependency audit. GHSA-mrhx-c7xc-m3w5 is patched only in zod 4.6.6. EthereumProvider 2.26.0 depends on @reown/appkit, which pulled zod 3.22.4. That package is not installed. SignClient 2.26.0 does not depend on AppKit or zod. npm audit is reported from the command, not assumed.
- blocked. WalletConnect project id. No project id is in this repo. The owner must create one for this app in the WalletConnect dashboard. An id from another app is not a substitute.
- blocked. Registry decision. The native PLS to PLSX packet reads the existing pin for WPLS, PLSX, the v2 router, and the v2 factory, plus the WPLS/PLSX pair at that same block. execute is false. The pair hash is evidence, not an entry in a verified list. A caller flag cannot accept the packet.
- source. Bounded swap preflight. The bound is one eth_call and one estimateGas of that calldata at a hash that stayed canonical. It is not a receipt, not inclusion, and not a full execution proof. The tip is the node's current eth_maxPriorityFeePerGas suggestion, not a value at that block. Native PLS to PLSX has no approval. A token approval plus a swap is two transactions and is not sequenced.
- blocked. Phone trial. No pairing URI from the SDK has been created. No Tangem, Rabby, or MetaMask session has been run. The synthetic wc: URI cannot pair a phone.
- blocked. Deployment and live approval. No publish, deploy, or live send has been approved. Those are separate decisions.
- closed. Production identity. WPLS, PLSX, and the PulseX v2 router match the pinned Sourcify runtime. recompiledEqualsOnchain is false. That is not an audit. Connect and signing wait for the user's wallet.
- source. First trial scope. The phone transport accepts only native PLS to PLSX on PulseX v2. v1 and the other assets stay candidates and are refused before a request.
- quote: active. Read-only PulseX quotes and labeled comparisons.
- ledger: active. Local savings list. A row is saved only after a receipt matches the locked intent.
- disconnect: active. Clears this app's session. Does not cancel, revoke, or erase savings.
- swap-sign: active. You sign a verified PulseX route in your wallet. An eth_call is not a receipt.
- revoke: active. approve(spender, 0) for a verified token and router. You sign it. A hash is not proof the allowance is zero.
- bridge: disabled. Own quote, settlement, recovery, and gas later. Not this release.
Marks
Manifest
Release manifest is not loaded yet.
Ordering
Slippage and a deadline do not stop reordering. A private path is not used here. Public quotes can reveal an amount. There is no silent fallback from a private path to the public one, because no private path is configured.