Opportunities settling on ProveX: PulseX PXA / PRVX pools, HEX and PLS on-ramps via ProveX escrow, DePIN operator payouts, Tokenized RWA transfers, Parametric insurance claims, Carbon credit retirement proofs, P2P event ticketing, Private cross-border rails, EAS identity attestations, Agent-to-agent commerce, Pulse ecosystem listings, ZK identity for PulseChain dApps

PX PulseX PXA / PRVX pools · PX HEX and PLS on-ramps via ProveX escrow · PX DePIN operator payouts · PX Tokenized RWA transfers · PX Parametric insurance claims · PX Carbon credit retirement proofs · PX P2P event ticketing · PX Private cross-border rails · PX EAS identity attestations · PX Agent-to-agent commerce · PX Pulse ecosystem listings · PX ZK identity for PulseChain dApps

Protocol security

What is wired — and what is still a spec

ProveXAgent is a PulseChain-native orchestration layer. ProveX core addresses are pinned. Kernel fail-closes illegal settlements. RPC, wallets, and the buyer extension are still unbound.

Kernel-enforced

5

Live gates in this app

Simulated

4

Correct math, no bytecode

Unwired

5

RPC, wallet, adapter, $PXA

Circuit breaker

Closed

PulseChain 369

ProveX.com core — verified ABI

These are the only legal ProveX targets. Explorer is PulseChain scan via Pinata. Gating is an EOA. Proofs that name any other escrow fail closed.

PulseChain 369 · verified ProveX rails

  • ProveX core

    Escrowverified

    Seller createDeposit(). Only contract that may hold settlement funds.

    0x0B42…f11a
  • ProveX core

    Orchestratorverified

    signalIntent() / fulfillIntent(paymentProof). Adapter talks here; agents never hold keys.

    0x742d…b080
  • ProveX core

    Payment Verifier Registryverified

    getVerifier(paymentMethod). Unknown methods cannot release escrow.

    0x6a4f…597A
  • ProveX core

    Unified Payment Verifierverified

    verifyPayment(intentHash, paymentProof). Called inside fulfillIntent.

    0x0e73…81Db
  • Access

    Gating serviceEOA

    EOA stored as intentGatingService on deposits. Signs signalIntent. Not a contract.

    0x4Bd6…f9Cf
  • Tokens

    $PRVXverified

    ProveX settlement token. Core 2% + Agent extra 40 bps buy-and-burn target.

    0xF6f8…0b11
  • Tokens

    USDCverified

    PulseChain USDC (from Ethereum). Default on-ramp asset.

    0x15D3…1f07
  • Tokens

    WPLSverified

    Wrapped Pulse. PulseX pairs are WPLS, never native PLS.

    0xA107…9a27

Verified ABI · adapter call surface

  • Seller

    Escrow.createDeposit(CreateDepositParams)

    Lock inventory. Seller signs. Funds stay in Escrow, never an agent.

  • Buyer

    Orchestrator.signalIntent(SignalIntentParams)

    Bind a take. Params.escrow MUST be the pinned Escrow address.

  • Orchestrator

    UnifiedPaymentVerifier.verifyPayment(intentHash, paymentProof, data)

    On-chain payment-proof check. Returns success + releaseAmount.

  • Buyer / agent

    Orchestrator.fulfillIntent(paymentProof, intentHash, verificationData)

    Submit extension proof. Releases via Escrow.unlockAndTransferFunds.

  • Buyer

    Orchestrator.cancelIntent(intentHash)

    Abort a signaled take. Unlocks deposit liquidity.

Connection matrix

  • Off-chain orchestrator

    Natural-language orchestrator

    Connected

    Per-template tool allow-list + system prompt. Local parser + optional Grok narration.

    Keep prompts sanitized; never send keys or proofs to the LLM.

  • Client

    Pre-trade ticket

    Connected

    ProveX 2% + Agent 0.5/0.5 + you receive + seller lock + 2.4% PRVX pressure before confirm.

    Bind the same quote object to the adapter call so on-chain fees cannot drift.

  • Client

    Offer book + seller desk

    Simulated

    Local inventory, fiat rails, score floor. Execute blocked below 70.

    Replace seed book with on-chain ProveX inventory events.

  • Off-chain orchestrator

    Security kernel

    Connected

    Every instruct / advance / proof release is fail-closed through the kernel.

    Mirror the same checks in on-chain modifiers when contracts deploy.

  • Off-chain orchestrator

    Server attestation

    Connected

    Domain-separated receipt hash for start + proof + release.

    Replace demo hash with an EIP-712 typed signature from the adapter.

  • ProveXAgent contracts

    AgentRegistry.sol

    Simulated

    In-memory agents, permissions, pause. No contract address.

    Deploy proxy on PulseChain 369; registerAgent() from this UI.

  • ProveXAgent contracts

    StakeManager.sol / vePXA

    Simulated

    Local PXA balances and lock days. Voting power is a client formula.

    Wire ERC-20 approve + stake() / lock() against $PXA.

  • ProveXAgent contracts

    FeeRouter.sol

    Simulated

    ProveX 2% (PRVX burn) is separate. Agent 1% (0.5/0.5) splits 40/40/20 in-kernel. No DEX buy-burn yet.

    collectFee() → PulseX market buy → burn PXA + PRVX.

  • ProveXAgent contracts

    CircuitBreaker.sol

    Connected

    Pause is fail-closed in the kernel and the settlement stepper.

    On-chain pause() + emergencyWithdraw() via vePXA vote.

  • ProveXAgent contracts

    ProveXEscrowAdapter.sol

    Not wired

    Lifecycle is modeled. Target escrow is now pinned. No adapter bytecode.

    Deploy adapter; only createDeposit / signalIntent / fulfillIntent against pinned targets.

  • ProveX core

    ProveX escrow

    Pinned

    Verified Escrow. createDeposit / lockFunds / unlockAndTransferFunds. Proofs fail if they target any other address.

    Seller wallet signs createDeposit. Still no eth_sendTransaction from this UI.

  • ProveX core

    ProveX orchestrator

    Pinned

    Verified Orchestrator. signalIntent → fulfillIntent(paymentProof). protocolFee() is the core 2% meter.

    Buyer/agent posts extension proof via fulfillIntent. Needs wallet + RPC.

  • ProveX core

    Payment verifiers

    Pinned

    Verified Registry + UnifiedPaymentVerifier.verifyPayment(intentHash, paymentProof).

    Replace kernel schema checks with the on-chain verifier result.

  • ProveX core

    Gating service

    Pinned

    EOA 0x4Bd6…f9Cf — intentGatingService on deposits, signs signalIntent. Not a contract.

    Obtain gating signatures for agent-originated takes.

  • Client

    Buyer ZK browser extension

    Not wired

    Kernel mints a structural Groth16-shaped proof bound to the pinned escrow.

    Install the ProveX extension; post real proof bytes through the adapter.

  • PulseChain / PulseX

    PulseChain RPC (chain id 369)

    Not wired

    Chain id and escrow address are enforced. No JSON-RPC session.

    Connect https://rpc.pulsechain.com (or a private node) + wallet.

  • Client

    Injected wallet / WalletConnect

    Not wired

    UI is read-only on balances. No eth_sendTransaction.

    Add PulseChain (369) provider; seller signs escrow lock.

  • PulseChain / PulseX

    PulseX DEX (WPLS pairs)

    Pinned

    Hero terminal links to pulsex.com. Pairs labeled PXA/WPLS, PRVX/WPLS. WPLS 0xA1077a29…

    Router address + buy-and-burn path from FeeRouter.

  • PulseChain / PulseX

    $PRVX / USDC / WPLS

    Pinned

    PRVX 0xF6f8Db0aBa00007681F8fAF16A0FDa1c9B030b11 · USDC 0x15D38573d2feeb82e7ad5187aB8c1D52810B1f07. $PXA unpublished.

    Publish $PXA. Verify burn events on PulseScan.

  • Identity

    EAS identity attestations

    Not wired

    Reputation scores live in local state only.

    Anchor ReputationAttestor to an EAS schema UID on PulseChain.

Kernel invariants (live)

  • Agents never take custody

    Enforced in the kernel. No code path assigns balances to an agent.

  • Bound to PulseChain 369

    Settlements reject any other chain id.

  • Two meters: ProveX 2% + Agent 1% (0.5 / 0.5 · 40 / 40 / 20)

    ProveX 2% buys and burns $PRVX. Agent 1% is separate: 50 bps buyer, 50 bps seller, then 40/40/20. Integer cents.

  • ZK verifier is a schema simulator

    Proofs are bound to the pinned Escrow. UnifiedPaymentVerifier.verifyPayment is the live ABI; this kernel still only schema-checks.

  • ProveX core ABI pinned

    Escrow.createDeposit · Orchestrator.signalIntent/fulfillIntent · UnifiedPaymentVerifier.verifyPayment. Adapter, RPC, and $PXA still unpublished.

  • Registry + stake gates

    3 active agents.

  • Open settlements

    0 in-flight. Rate limiter caps 8/min.

Threat model — already gated

  • Custody theft. No path assigns user balances to an agent. Custody flag must stay 0 or the settlement is aborted.
  • Step skipping / replay. State machine only allows n → n+1. Nonces are unique; reused nonces fail.
  • Prompt injection / XSS. Instructions are stripped of HTML, control chars, and javascript: URIs, then capped at 500 chars. Chat renders as text, not HTML.
  • Fee drift. Two meters. ProveX 2% (PRVX burn) is separate. Agent 1% (0.5% buyer / 0.5% seller) splits 40/40/20 in integer cents. Remainder of the Agent take always treasury.
  • Dust / griefing / oversize. Notional must sit between $10 and $1,000,000, inside the agent’s max-spend, and under 8 settlements per minute.
  • Wrong chain / asset. Proofs and settlements bind PulseChain 369. Assets are allow-listed (WPLS not confused with native PLS pairs).
  • Low-reputation counterparties. A2A floor is 70. Agents refuse below it.

Still required before mainnet

  • PulseChain JSON-RPC + wallet. Addresses are pinned. Seller must still sign the lock; this demo cannot move real WPLS.
  • ProveXEscrowAdapter + $PXA. Agent-side bytecode is unpublished. It may only call createDeposit, signalIntent, fulfillIntent, and verifyPayment on the pinned verified targets.
  • Buyer ZK extension. Real fiat-payment proofs replace the kernel-minted Groth16-shaped placeholder and must verify at the Unified Payment Verifier.
  • FeeRouter → PulseX. Two meters stay separate on-chain: ProveX core 2% buy-and-burn $PRVX; Agent 1% (0.5/0.5) then 40/40/20 on WPLS pairs. Events on PulseScan.
  • EAS schema + upgrade timelock. Identity attestations and CircuitBreaker.propose/vote on-chain, not just the local pause.

Demo path: run a settlement in Console — the kernel, nonce, proof hash, and receipt are attached to the rail.

Security event log

  1. KERNEL_ONLINESecurity kernel online. Non-custodial invariant armed. PulseChain 369.