Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

449 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conviction

Conviction turns your prediction-market call into a buyer-held, bounded YES or NO position and manages the exit without taking custody. OPEN buys with a fee-inclusive budget and hard maximum price. Position Manager either CLOSES an exact V2-aligned share quantity immediately above a hard floor or arms one post-only TAKE_PROFIT order for whole shares at a target and venue expiry. The buyer's own Agentic Wallet signs and holds every position, while Conviction verifies order identity and resulting fills independently.

There are exactly two paid products: OPEN Position Card at 0.05 USD₮0, and Position Manager at 0.10 USD₮0 with an explicit CLOSE or TAKE_PROFIT action. Conviction stays deliberately narrow: standard Polymarket V2 binary markets, YES or NO, bounded FAK buys, source-bound FOK closes, and one source-bound post-only GTD take-profit. It does not recommend an outcome, hold keys, accept reusable signatures, provide stop loss, or run recurring strategies. The browser supports buyer-local OPEN and CLOSE; TAKE_PROFIT remains agent-runtime only.

Live app: conviction-bay.vercel.app

Live proof

The headline artifact is an issuer-signed v4 OPEN proof. Its controlled house intent was issued before settlement and the fill landed inside the signed five-minute window. The matching portable CLOSE conformance artifact is published separately.

  • Polygon settlement: 0xf0923530…34bf
  • Polymarket order: 0xee83696bee42b89a4a25676f2bd1e959be73efbab8c17794f952c990074d6d9e
  • Receipt block: 90,672,458
  • Position-proof hash: 0x8d4533ddb3caf12e1f31d67f50ed933d7be0708bd3ab1b8efe30ac16a031f2cb
  • Position-passport hash: 0xd9bcf8a986927b264a8192f1609122d4d6248953b83532bab94a87cbcd4e15d1
  • Verified invariants: trusted issuer signature, settlement inside the signed window, canonical receipt block, CTF-derived YES and NO tokens, exact exchange/wallet/order, and every principal, fee, debit, share, and price bound.

This is a controlled house proof, not external traction or financial performance. The older v3 card and retrospective match remain only as explicitly self-asserted historical artifacts; the public verifier rejects them.

Verify a proof without Conviction

The portable verifier accepts one local JSON artifact of at most 512 KiB and reconstructs its OPEN or CLOSE evidence using explicit HTTPS Polygon and Ethereum RPCs:

npm run --silent proof:normalize -- \
  assets/conviction-signed-open-proof.json

npm run --silent proof:verify -- \
  assets/conviction-signed-open-proof.json \
  --rpc https://your-polygon-rpc.example \
  --ethereum-rpc https://your-ethereum-rpc.example

Both commands accept bounded standard input with -; proof:normalize is offline and emits the canonical artifact, so its output can be piped directly into proof:verify. Neither command calls a Conviction API or exposes a custom-issuer, wallet-credential, or secret-bearing proof option. The append-only active/retired production keyset is embedded in the verifier. Success is one machine-readable JSON object containing the action, assurance, keyset ID, verifier version, canonical artifact hash, subject wallet/market/outcome, action-specific bounds and realized economics, issuer fingerprint, proof and passport hashes, settlement transaction and block, and Ethereum-checkpointed finality evidence. The verifier pins every RootChainProxy read to one exact Ethereum finalized block hash with EIP-1898, proves the Polygon block's number, timestamp, transaction root, and receipt root inside that checkpoint, rebuilds the complete Polygon receipt trie, and locally derives the binary CTF position-token IDs from the signed condition ID before requiring exactly one authenticated economic receipt to match the signed intent. A load-balanced Polygon RPC cannot make independent block, receipt, and final-head responses pass unless they reproduce the Ethereum-committed roots.

Polygon's RootChain checkpoint does not commit the full Bor block hash, and this verifier does not rebuild the transactions trie. The output therefore states exactBorBlockHashVerified:false and transactionHashAuthenticated:false; those two RPC metadata fields are corroborative, while the settlement block fields, receipt trie, logs, and economic match are checkpoint-authenticated. Failure is a sanitized JSON error on stderr with a nonzero exit status.

Portable public proof v1 deliberately refuses any artifact whose signed rationale is nonempty. The browser labels that field as a private position note; exporting it into a public artifact would violate that promise. It also rejects secret-shaped fields, legacy or recovered-source evidence, TAKE_PROFIT, contradictory actions, non-production issuers, and Polygon settlements absent from Ethereum's finalized RootChain state.

The normative Portable Proof Contract v1 defines canonical encoding, key rotation, verification, refusal behavior, and the public artifact, verification result, and trust keyset JSON Schemas. The embedded keyset has a public conformance mirror; the verifier never fetches or trusts that file at runtime.

Product loop

OPEN

  1. The buyer pastes one Polymarket market. Conviction reads both YES and NO books without requesting a wallet.
  2. The buyer selects the outcome, fee-inclusive pUSD risk budget, and maximum price. A wallet-free preview shows the objective exposure.
  3. Only after reviewing those bounds does the buyer bind an already-ready Polygon deposit wallet and receive a five-minute wallet-bound position-card preview plus a secure dry-run prompt. A direct EOA is refused before payment.
  4. Conviction's source-pinned Polymarket runtime previews the exact request in the buyer's Agentic Wallet and requires a separate live confirmation before any write.
  5. Conviction derives principal, fee, total debit, and shares from Polygon events and binds them to the original intent, wallet, selected token, economic bounds, order ID, exchange, and chain.

CLOSE

  1. The buyer supplies the verified OPEN result for the position, chooses an exact V2-aligned share quantity, and sets a minimum sale price.
  2. Conviction independently replays that OPEN settlement from Polygon, then checks a fresh seller-wallet balance and standard V2 outcome-token approval.
  3. The position manager signs a five-minute CLOSE card only when current bids can fill every requested share at or above the floor. The exact FOK sell either closes all requested shares within those bounds or places no fill.
  4. After a separate live confirmation, the public agent/CLI executes the exact card from the buyer's configured deposit wallet and returns an independently verified Polygon close proof in the same session.

A legacy v2/v3 OPEN proof can establish retrospective provenance for CLOSE, but it is not a consumable lot or a one-time authorization. Fresh seller-owned balance is the authority to sell, and the runtime rechecks it before submission. The browser app executes OPEN for an already-ready Deposit Wallet, persists a public manager-ready dossier locally, and independently reads the current Polygon outcome-token balance. It caps one source at the lesser of that live balance and the source OPEN fill, then supports the same 0.10 USD₮0 Position Manager payment, separate trade confirmation, exact FOK SELL, and close-proof verification used by the public agent/CLI. The paid browser CLOSE completed a controlled live round trip (payment, Polygon settlement, CLOSE proof 0xa53a5b45620b736a5acc55f6a9832da64adc927898d649ab53c607f7b0b1db78). This remains controlled house evidence, not external traction or a performance claim. A narrowly bounded migration path can recover a standard-market browser OPEN that settled before durable dossier persistence shipped: it verifies the exact Conviction X Layer payment, factory-derived buyer Deposit Wallet, finalized Polygon order fill, CTF market-token mapping, and current balance before permitting CLOSE. It is labeled on-chain-recovered, never presented as issuer-signed, never reconstructs the missing pre-trade bounds, and cannot authorize TAKE_PROFIT.

TAKE_PROFIT

  1. The buyer supplies a verified OPEN result, exact whole shares, target price, and a whole-second UTC venue expiry.
  2. Position Manager independently reverifies the OPEN source, seller balance and V2 approval, market tick and minimum size, current best bid, and the complete selected-token SELL reservation set.
  3. After the separate manager payment and one fresh trade confirmation, the buyer runtime waits past the confirmation second, repeats every readiness and dry-run check, and places exactly one post-only GTD SELL.
  4. The initial result is an authenticated order binding, never a false on-chain fill claim. A zero-match LIVE order returns conviction-resting-order-proof-v1 with status ARMED; if the first authenticated fetch already shows a match or venue-state transition, Conviction instead returns a recoverable conviction-submitted-order-proof-v1 pending reconciliation and any required Polygon proof. The five-minute signed card controls placement only; the submitted order can remain live until its venue expiry, a fill, or exact-order cancellation.
  5. tp-status recovers the pinned order and associated trades. Any partial or full fill is independently re-derived from Polygon receipts and returned as conviction-take-profit-fill-proof-v1. It preserves whether the remainder is active, canceled, or expired, and labels included-but-not-finalized Polygon evidence PROVISIONAL until the finalized head covers every settlement. Missing or ambiguous CLOB state remains unresolved rather than being mislabeled canceled.
  6. cancel-tp requires the separate exact phrase confirm cancel take profit, cancels only the pinned order ID, and then rechecks for a fill/cancel race.

The browser executes OPEN for an already-ready buyer-controlled Deposit Wallet after separate buyer-local payment and trade confirmations, then returns an issuer-signed Polygon proof and saves a public manager-ready dossier locally. Portfolio independently reverifies that source, reads the live Polygon token balance, previews an exact CLOSE without payment, and can execute that separately paid and confirmed FOK sale without visiting Polymarket. After the one-time venue setup, the repository-backed buyer agent/CLI executes OPEN, CLOSE, and TAKE_PROFIT without asking the user to type trade commands or visit Polymarket.

The full wire contract is in docs/SERVICE_CONTRACT.md. The OKX.AI listing copy is in docs/ASP_LISTING.md. A first-time or returning OKX buyer can follow the copy-paste agent buyer guide.

First-use buyer readiness

GET /api/readiness publishes the free conviction-buyer-readiness-v4 wire contract and POST /api/readiness classifies a buyer-local wallet snapshot before preview or payment. Missing capability keys return READINESS_INPUT_REQUIRED, PROVIDE_COMPLETE_BUYER_RUNTIME_SNAPSHOT, paymentAllowed:false, the exact missing fields, and a pointer back to the GET contract; only explicitly false capability values return UNSUPPORTED_EXECUTION_RUNTIME. Conviction charges OPEN only when the selected Polygon trading address is an already-deployed Polymarket deposit-wallet contract, V2 setup is ready, regional access passed, and both chain balances are sufficient. A missing or unfinished venue wallet returns BUYER_SETUP_REQUIRED, paymentAllowed:false, and nextAction:USE_READY_DEPOSIT_WALLET_OR_STOP; it receives no payment or premature funding instruction. It returns two separate owner handoffs: the buyer may personally run the official one-time PowerShell setup for the same authenticated Owner EOA, or use Conviction's browser Wallet Setup after that surface verifies its own activation and Builder authorization. Conviction never asks the agent to override its runtime policy; the authenticated owner separately chooses whether to run the official venue-onboarding command after reviewing its reusable permissions. A direct EOA is never presented as a recoverable execution route because a live external run proved Polymarket V2 rejects that maker. The classifier publishes Conviction's X Layer payee and rejects payer == payee as SELF_PAYMENT_FORBIDDEN.

Before payment, the buyer must provide the official plugin's successful dry run. Conviction compares its wallet, token, outcome, exchange, collateral, price, shares, principal, fee rate, and FAK order type with the server-compiled preview. A mismatch refuses the paid replay. The venue-managed deposit-wallet setup remains outside Conviction: it is relayer-paid but creates two reusable pUSD allowances and three reusable CTF operator approvals. For a first-time Windows buyer, readiness publishes the exact owner-run sequence: verify the active Polygon EOA, preview polymarket-plugin setup-deposit-wallet --dry-run, personally run polymarket-plugin setup-deposit-wallet, and verify the result with polymarket-plugin quickstart. This occurs once per Owner EOA; returning wallets skip it. Conviction discloses the scope, never asks a buyer runtime to bypass its wallet policy, and never permits funding or payment before setup verification.

Run locally

Requires Node.js 24.x and Python 3. The official Polymarket client packages used by the browser execution lane require Node 24 or newer. Buyer-state claims, journal updates, and crash-safe lock releases use Python's standard fcntl.flock support to serialize independent local processes.

npm ci
npm run gate
npx vercel dev

The site is served at http://localhost:3000. The API surface is:

  • GET /api/health
  • GET /api/quickstart — complete first-time and returning-wallet reviewer journey with copy-paste examples
  • GET /.well-known/x402, GET /openapi.json, GET /llms.txt — machine-readable payment, API, and agent discovery
  • GET|POST /api/readiness — free buyer-local setup classifier; never signs, funds, approves, pays, or trades
  • POST /api/market — wallet-free lookup of both live outcome books
  • POST /api/preview — wallet-free economic preview plus exact official pluginDryRun argv; never executable
  • POST /api/intent — fresh wallet-bound card used by the public web app
  • POST /api/service — payment-protected issuer-signed OPEN execution card only (0.05 USD₮0 on X Layer); it does not submit, monitor, or cancel an order
  • POST /api/receipt — independently verified OPEN proof
  • POST /api/position-status — free source-verified live Polygon holding and sell-approval status
  • POST /api/manage-preview — free, non-executable Position Manager preview (action: close|take_profit)
  • POST /api/manage — payment-protected issuer-signed Manager execution card only (0.10 USD₮0 on X Layer; action: close|take_profit); it does not submit, monitor, or cancel an order
  • POST /api/refresh?managerPaymentRecovery=1 — browser-only reconciliation and free card refresh for one already-signed manager payment
  • POST /api/receipt?proofType=close — independently verified CLOSE proof

The free OPEN preview, final public OPEN card, and paid OPEN endpoint use the same fail-closed economic core. Both Position Manager actions share the same source, position, token, approval, and proceeds core, while CLOSE adds fillable FOK bid-depth checks and TAKE_PROFIT adds post-only GTD placement, exact status, trade recovery, fill proof, and exact cancellation in the separate buyer-local executor. The two listed paid A2MCP deliverables are issuer-signed execution cards, not order-execution calls. They never place, monitor, cancel, or prove a fill: after card delivery, the buyer-local executor requires a separate trade confirmation before it can act. The machine fees pay for x402 settlement and signed-card delivery; previews and proof/status reads remain free. The paid routes pin their payment requirements to X Layer mainnet, exactly 0.05 USD₮0 for OPEN and 0.10 USD₮0 for one manager action, and the project owner address. They require OKX_API_KEY, OKX_SECRET_KEY, and OKX_PASSPHRASE in the server environment. Empty or incomplete unpaid calls may receive a standard 402 for contract discovery, but that discovery response is not payment authorization. A complete OPEN request must pass readiness and exact preflight before Conviction verifies or settles payment; Manager requests must pass their action-specific preflight and any TAKE_PROFIT runtime-capability gate. Invalid compile requests are not settled, and a successful card response is withheld if settlement fails.

Before a paid card gains authority, the buyer runtime independently verifies the X Layer receipt and creates an owner-only durable claim for that exact payment transaction, bound to the journey's authorization nonce, replay identity, service, payer, amount, and proof. One transaction can authorize only one journey. These payment-*.lock.json claims are permanent replay records; never delete them to force a retry.

Before deploying seller credentials, verify that the key is payment-enabled, then verify the deployed v0.4 health manifest and both exact bare x402 challenges:

npm run payment:preflight
npm run service:verify

To compile against the live Polymarket APIs from the CLI, supply your own current market and dedicated wallet:

npm run intent:live -- \
  <polymarket-url-or-slug> \
  <yes-or-no> \
  <fee-inclusive-budget> \
  <maximum-price> \
  <dedicated-deposit-wallet> \
  "<optional 20-500 character note>"

Run through native OKX Agentic Wallet

Native OKX agents are the preferred OPEN and CLOSE path and do not install Conviction or clone this repository. The listed A2MCP call ends when its issuer-signed execution card is delivered; it does not place, monitor, or cancel the order. The unpaid x402 challenge advertises GET /api/executor; each new signed card then points the buyer-local agent to its exact executionCard.argv. An agent with OKX Agentic Wallet and the official OKX Plugin Store polymarket-plugin v0.7.0 invokes those arguments itself only after the distinct trade confirmation. After any one-time owner-run venue setup, signing remains inside the wallet's TEE, no person types a trade command, and Conviction receives no keys or CLOB credentials.

For OPEN, the native prerequisites are an active OKX Agentic Wallet, official polymarket-plugin v0.7.0, X Layer USD₮0 for the service fee, regional eligibility, and an already-ready persisted deposit-wallet mode. CLOSE additionally needs the selected outcome shares and standard V2 outcome-token approval. Direct EOA OPEN is disabled after a live maker rejection. The discovery document publishes the official Plugin Store artifact digests for Apple Silicon and hosted Linux x64; the release gate downloads and verifies the official Linux artifact. TAKE_PROFIT remains on the fallback below because official v0.7.0 transports V2 GTD expiration in a location the live CLOB rejects.

Optional non-OKX fallback executor

Environments that cannot consume the native OKX action may use the repository-backed fallback. Clone the immutable release and run or symlink skills/conviction-executor from this repository so its pinned helpers retain their src/ dependencies. Copying the skill directory alone is unsupported. Fallback prerequisites include Node.js 24 and Git. Apple Silicon source reproduction additionally needs the exact released Rust/Cargo toolchain; Linux x64 cold install does not. Install the runtime once:

npm run runtime:install

The installer accepts only dolepee/plugin-store@446fb8014404a108836c2e544a4dad47cf2f9540. On Linux x64 it downloads the dedicated exact-source release, enforces its pinned byte length and hard-coded SHA-256, launches the staged binary and requires its exact CLI version, and only then publishes it atomically without requiring Rust. The same launch probe runs whenever the installed Linux runtime is resolved, so an incompatible host cannot produce pre-payment capability evidence. Apple Silicon retains the locked test-and-build reproduction path and must produce its published digest. Released runtime targets are Apple Silicon (darwin-arm64) and Linux x64 (linux-x64); every other native target fails closed before x402. WSL remains conditional rather than advertised support: the checkout, runtime state, wallet/signing capability, and credentials must all exist inside the WSL Linux userland on a native Linux filesystem, and that complete path still requires a real Windows-host smoke test. Native win32-x64 remains unsupported because the crash-safe journal and mutex control plane has not passed a native Windows gate. Installation is owner-only and atomically publishes one immutable commit directory. Every executable Conviction path re-hashes the runtime before a plugin subprocess, records the spawn-bound digest before a live order, and never falls back to whichever polymarket-plugin appears first on PATH. The pinned fork of the official plugin adds the reviewable GTD transport correction, exact V2-aligned fractional SELL quantities, and durable deterministic OPEN/CLOSE order-attempt evidence; its source, build workflow, release size, and digest are public.

Cold buyer agents discover execution before payment through GET /api/executor or the service-desc link on either x402 challenge. The challenge also declares the exact paid replay schema. Every new paid card binds the same executor-release hash into its signed intent and returns an action-specific structured next step. OPEN and whole-share CLOSE use native ready deposit-wallet execution; fractional CLOSE and TAKE_PROFIT explicitly select the pinned fallback. Browser OPEN durable recovery is scheduled separately from deployment. A declared legacy-issuance stop pauses new structured OPEN before x402 for at least 65 minutes while every existing v1 refresh remains usable and expires; v2 activates only after that drain. Once active, one verified payment can issue at most one recovered five-minute card for the exact original request, and repeat calls replay the byte-identical stored winner. Native-agent OPEN does not advertise that v2 recovery until its own request-bound authorization path ships. This is a recovery-issuance limit, not an execution nullifier; every card still requires separate trade confirmation.

Apart from the explicit one-time owner-run venue setup for a fresh wallet, Conviction never asks the user to type plugin trade commands during an OPEN or Manager journey. The OPEN, CLOSE, and TAKE_PROFIT placement runners invoke the verified runtime and stop only for the distinct payment and trade confirmations; the later cancel-tp action separately requires the exact cancellation confirmation documented below.

OPEN:

node scripts/buyer-orchestrator.mjs open \
  --origin https://conviction-bay.vercel.app \
  --market <polymarket-url-or-slug> --side <YES-or-NO> \
  --budget <fee-inclusive-pUSD> --max-price <price-cap> \
  --payment-payer <x-layer-wallet> --buyer-wallet <polygon-deposit-wallet> \
  --issuer-registry config/trusted-issuer.production.json --json

Immediate CLOSE:

node scripts/buyer-orchestrator.mjs close \
  --origin https://conviction-bay.vercel.app \
  --market <polymarket-url-or-slug> --side <YES-or-NO> \
  --shares <exact-v2-shares> --min-price <price-floor> \
  --payment-payer <x-layer-wallet> --seller-wallet <polygon-deposit-wallet> \
  --source-proof <verified-open-result.json> \
  --issuer-registry config/trusted-issuer.production.json --json

Bounded TAKE_PROFIT:

node scripts/take-profit-orchestrator.mjs take-profit \
  --origin https://conviction-bay.vercel.app \
  --market <polymarket-url-or-slug> --side <YES-or-NO> \
  --shares <whole-shares> --target-price <target> \
  --expires-at <UTC-ISO-whole-second> \
  --payment-payer <x-layer-wallet> --seller-wallet <polygon-deposit-wallet> \
  --source-proof <verified-open-result.json> \
  --issuer-registry config/trusted-issuer.production.json --json

Read status and prove any recovered fill without another payment or trade:

node scripts/take-profit-orchestrator.mjs tp-status \
  --journal <private-take-profit-journey.json> \
  --issuer-registry config/trusted-issuer.production.json --json

Cancel only the pinned remaining order after a fresh exact confirmation:

node scripts/take-profit-orchestrator.mjs cancel-tp \
  --journal <private-take-profit-journey.json> \
  --issuer-registry config/trusted-issuer.production.json --json

If cancellation races a fill or Polygon evidence is not finalized yet, the global execution lock remains. Reconcile it without another payment, placement, or cancellation. The same command can bootstrap a passport only from an exact live order ID already persisted before the first CLOB fetch. Before any order exists, it releases a reservation only for an expired authorization proven unused at a finalized X Layer block, or an expired paid card proven never spawned; consumed or ambiguous payment state remains locked. A submit lock caught between the live response and first passport may release after the exact owner-authenticated order is durably proven zero-match ARMED; its generation-pinned release retains the owner-verified scoped TAKE_PROFIT reservation. Its release guard blocks concurrent claims under the owner-local kernel mutex and is automatically reclaimed only when its exact source, target, transition, field set, and lock generations authenticate. In-progress, invalid, or foreign guards fail closed. Cancel-attempt locks and any initially matched, unknown, or otherwise unresolved submission keep the global lock until the existing terminal zero-fill or terminal finalized-fill condition is proven:

node scripts/take-profit-orchestrator.mjs reconcile-tp \
  --journal <private-take-profit-journey.json> \
  --issuer-registry config/trusted-issuer.production.json --json

The runners wait until the second after live-trade confirmation, serialize the final wallet/configuration window, and keep owner-only reconciliation journals outside Git. A verified OPEN or CLOSE settlement must also have a Polygon block timestamp strictly later than the confirmation second.

If an OPEN returns an ambiguous response, reconcile its recorded order read-only. A verified settlement releases only that journey's owner-verified execution lock. A zero-fill FAK releases it only when a fresh credential-owner-bound exact CLOB snapshot proves the signed order identity, canonical CANCELED/EXPIRED status, zero matched shares, no trades, and creation inside the signed post-confirmation window:

node scripts/buyer-orchestrator.mjs reconcile-open \
  --journal "$CONVICTION_JOURNAL_PATH" \
  --issuer-registry config/trusted-issuer.production.json --json

If a CLOSE process loses an execution response, never retry it under another market spelling or payer. A known pre-spawn refusal restores the existing paid-and-confirmed checkpoint while retaining its replay lock; continue only through resume-close, which reverifies the payment, card, source position, wallet, balance, approval, reservations, and dry run without paying again. Otherwise reconcile the recorded journey read-only:

node scripts/buyer-orchestrator.mjs resume-close \
  --journal "$CONVICTION_JOURNAL_PATH" \
  --issuer-registry config/trusted-issuer.production.json --json

node scripts/buyer-orchestrator.mjs reconcile-close \
  --journal "$CONVICTION_JOURNAL_PATH" \
  --issuer-registry config/trusted-issuer.production.json --json

reconcile-close releases its owner-verified replay and execution locks only after independently verifying the recorded settlement, proving an exact terminal zero-fill FOK through the same authenticated CLOB checks, or proving that no execution began and the signed card expired. Ambiguous evidence remains locked for manual reconciliation; never delete a lock to force progress.

The public privacy and terms pages state exactly what is processed, what the paid service delivers, and which wallet and approval steps remain third-party operations.

Verification gate

npm run gate

The local release gate checks JavaScript and Python syntax, deterministic YES/NO OPEN/CLOSE/TAKE_PROFIT compilation, outcome-specific market resolution, server-computed exposure and proceeds, stale/price/liquidity/rounding refusal paths, source, intent, token, order, trade, and receipt substitution, exact x402 challenges, payment/trade-consent separation, post-only placement, authenticated initial order binding, lifecycle status, exact cancellation, aggregate Polygon fill verification, launch-surface markers, and A2A secret-refusal behavior. It runs Gates A, B, and C in offline mode, where adversarial mutations must fail with zero orders. Live reports use unique write-once paths, record the exact source commit, and refuse a dirty tracked source tree.

Offline success is not live acceptance. On 2026-07-22, controlled house runs separately passed all three fresh live gates against the then-production repository-backed buyer orchestrator: OPEN paid 0.05 USD₮0, filled exactly 10 YES in the buyer wallet, and returned the Polygon proof; CLOSE paid 0.10 USD₮0, sold those exact 10 YES, and returned the Polygon proof; TAKE_PROFIT paid 0.10 USD₮0, armed one exact zero-fill post-only GTD SELL with an authenticated order proof, and then canceled that exact order with no fill/cancel race. Each payment-to-proof path completed in under two minutes. These transactions predate the v0.4.5 native OKX handoff and are not presented as native-path executions. They are acceptance proofs, not external traction or financial-performance claims.

Operational boundary

Marketplace review watcher

The macOS operator watcher for Conviction #7034 is installed and verified from the repository rather than maintained as an untracked local patch:

npm run review-watch:install
npm run review-watch:verify

The idempotent installer atomically publishes the watcher and its Telegram outbox dependency into the canonical local runtime, renders the LaunchAgent, restarts its persistent daemon, and requires an exact source hash, loaded --daemon arguments, running launchctl state, and a fresh successful poll. It does not install or alter PolicyPool monitoring.

New Polymarket deposit-wallet setup currently grants max pUSD allowances and blanket ERC-1155 approvals to official Polymarket exchange contracts. Conviction discloses this before execution and recommends a dedicated low-balance wallet. It will not charge a fresh direct EOA or claim that finite allowance makes it an eligible V2 maker. The current official plugin has no deposit-wallet revoke command.

Polymarket V2 signs the token, principal, shares, and price but applies operator-set fees at match time. Conviction rechecks the current venue fee immediately before execution, reserves that fee in the displayed total, and verifies the actual settlement afterward. A reusable wallet may hold more than this order needs; that balance does not authorize another order, but the venue fee itself is not part of the V2 signature. Gas is separate.

Published controlled OPEN settlements recorded zero on-chain venue fee. The nonzero-fee verification path is covered by deterministic and adversarial tests, but remains unproven in a live settlement.

A CLOSE card is bound to a prior independently reverified OPEN proof, but that source proof is provenance rather than an on-chain lot identifier. It is not consumed by a close. Conviction therefore treats the fresh wallet balance and approval as the sale authority, rechecks both before submission, and verifies the exact outcome-token debit and net pUSD credit afterward.

A TAKE_PROFIT reserves selected-token shares in a venue-hosted order and may fill partially across more than one Polygon transaction. Conviction never submits another selected-token SELL while its complete authenticated reservation snapshot is nonzero. It treats unknown order state, missing trade attribution, missing receipts, and fill/cancel races as unresolved. A retained cancel execution lock is released only by reconcile-tp after owner-verified terminal state and, for any fill, finalized Polygon proof. There is no background daemon, recurring strategy, automatic re-entry, hidden price change, or broad cancel.

Interrupted paid actions follow one public rule. Pre-payment capability or readiness refusals are not charged, while a successfully issued signed card completes the paid deliverable. After settlement, the authenticated original payer may request discretionary operator review for a proven Conviction or supported-runtime failure before any order attempt. A public payment hash is not a bearer claim: fresh wallet-control proof and buyer-local journey reconciliation proving execution never began are required before an exact service-fee refund to the original payer can be approved. Ambiguous submissions remain locked and must not be paid or submitted again. Changed bounds require a new paid request. Unchanged requests refresh only on surfaces and inside windows Conviction explicitly publishes. Any order attempt ends interruption-review eligibility. No refund is automatic or guaranteed. Browser OPEN v2 recovery uses a durable payer- and request-bound atomic entitlement for one recovered card. Before the browser's CLOB POST, a separate permanent attempt record binds that payment to one exact Owner-authorized signed order. Exact claim replay is idempotent and any different order conflicts. Neither mechanism is a general refund, credit, CLOSE, TAKE_PROFIT, native-agent entitlement, or cross-surface execution nullifier.

Never send Conviction a seed phrase, private key, bearer token, CLOB credential, reusable signature, or raw transaction authorization.

Current production

v0.4.74 keeps the complete paid reviewer journey on one exact relay lane. Reviewer OPEN cards preserve that lane through free card refresh. Reviewer TAKE_PROFIT now sends its free preview, x402 challenge, paid replay, and recovery claim through the same exact Manager resource that issued the card. The pinned v19 buyer checkout cold-tests that route contract against a card produced by the merchant head before release. Mixed canonical/relay or arbitrary routes fail in both merchant and pinned buyer validation. Canonical buyer cards and resources remain unchanged.

v0.4.73 extended the relay through OPEN refresh and pinned executor v18, but the TAKE_PROFIT fallback still sent Manager requests to the canonical host. v0.4.74 supersedes that incomplete fallback route before deployment.

v0.4.72 first extended the reviewer relay into paid executor and proof routes, but its pinned source predated v17 card acceptance and its legacy OPEN refresh still advertised the canonical host. v0.4.74 supersedes both contracts.

v0.4.71 keeps the complete replay schemas, examples, and first-use guidance in the unpaid 402 JSON body while limiting PAYMENT-REQUIRED to the standard payment contract. Both paid routes now survive a strict 2 KiB Node response- header budget, removing one reproducible strict-client failure before another review attempt. A separate fixed-path relay is staged for review environments whose local policy blocks the canonical hosting domain.

v0.4.70 makes first-time and returning OKX buyer journeys independently discoverable before payment. It publishes one-time owner-run PowerShell setup, complete user and runtime-generated request fields, copy-paste OPEN/CLOSE/ TAKE_PROFIT examples, and standard quickstart, x402, OpenAPI, and llms documents. Unpaid 402 bodies now repeat the exact replay schema and examples without enlarging the already-bounded payment header.

v0.4.69 publishes each A2MCP replay schema exactly once in the x402 challenge. v0.4.71 supersedes that wire layout after strict-client testing showed that a response can still overflow below the earlier proxy-oriented ceiling.

v0.4.68 pins the buyer-local browser executor to exact @polymarket/client and @polymarket/bindings 0.2.0 releases. Browser OPEN and CLOSE authenticate only the already-deployed Deposit Wallet supplied by the active Owner EOA; the trade path exposes no wallet-deployment action and rejects signer, wallet, or SecureClient identity drift. Before POST, Conviction reconstructs and validates the exact V2 signed order against the issuer-signed card and fresh separate trade consent, then persists its canonical order ID. For a matched response, the official bounded waitForOrderFillSettlement result is authoritative; immediate response hashes remain provisional and can never unlock proof or replay. The exact pre-POST OPEN order ID, exchange, signed-order time, and trade-consent time survive reload. If the POST response is lost, Conviction performs only an authenticated exact-order lookup: a stable matched trade set continues through Polygon proof, proven terminal zero-fill clears that durable lock, and absent, active, substituted, stale, or changing state remains no-resubmit locked without another payment or POST. Under the active durable entitlement contract, the normal paid browser path first materializes its canonical stored v2 card. After separate trade consent and exact local order-checkpoint readback, the Owner EOA authorizes a public payment/card/order binding and the server atomically records the payment's one permanent browser OPEN attempt before the sole CLOB POST. Claim outage, expiry, or conflict blocks submission; exact claim replay cannot authorize another order. The one durable v2 card is not renewable. A pre-sign window check makes no refresh, payment, signature, claim, or order request when the required 57-second claim-and-submit margin no longer remains. If the window instead expires while the wallet is signing, that signature remains browser-local and is never claimed, transmitted, or submitted. Both paths preserve the exact paid checkpoint, lock trade, and direct the payer to manual interruption review without paying again. Browser TAKE_PROFIT remains agent-runtime-only, and the v0.4.67 execution-control rollout remains inert.

The v0.4.68 production browser executor shipped only after its configured legacy-card drain completed. New v1 issuance stopped at 2026-07-30T00:00:00.000Z; durable v2 activated 65 minutes later at 2026-07-30T01:05:00.000Z. Every previously valid five-minute v1 card and its published 60-minute recovery window had therefore expired before activation. The shipped browser executor intentionally rejects every v1 card, including an otherwise well-formed legacy refresh, and accepts only the exact signed v2 execution-control and recovery contract. The historical staged server rollout behavior remains documented below; it is not a compatibility promise for the post-drain browser executor.

v0.4.67 adds the inert durable-state foundation for a future payment-to-order execution nullifier. Every high-level state facade now requires an explicit off, shadow, drain, enforce, or pause policy and an exact durable rollout fence before it can reach a verifier or mutate state. Data-plane calls only read and assert that fence; they cannot bootstrap or advance rollout. Separate operator transitions use exact-predecessor CAS, and the adapter creates a non-reusable random authority incarnation inside the first durable transition. Every guarded operation binds that incarnation as well as stage, revision, and epoch, so deleting and recreating a rollout cannot revive an old authority even if its numeric sequence repeats. Durable pause/resume writes increment a global revision and fencing epoch so a stale enforcing instance cannot issue, reserve, claim, or submit after a pause. The dedicated Redis keys share one cluster slot so each state operation checks its rollout fence atomically. The pre-settlement reservation and finalized-payment promotion paths remain unwired to production APIs. No production executor claims the new authority, browser TAKE_PROFIT remains agent-runtime-only, and health continues to report durableRolloutAttested:false, activationWired:false, enforcement:false, and executionNullifier:false. This release rejects every non-off production configuration at both paid-gate initializers, before x402 challenge, verification, or settlement. off preserves the existing no-store payment path. A later activation release must source-pin an activation epoch/manifest and make off or missing dedicated credentials fail closed; Redis cannot prevent an operator from rolling back to old code, so deployment control and rollback detection remain explicit operational boundaries.

v0.4.66 adds optional first-party activation observability. It remains disabled until its complete dedicated credential set is configured, and that database must stay isolated from wallet, entitlement, execution-control, and generic KV safety state. When enabled, it retains only HMAC pseudonyms for issuer-verified paid-card/proof events and identifier-free daily counters for coarse refusals and explicitly untrusted browser terminal diagnostics, all for 31 days. Health status configured confirms only a syntactically complete, isolated configuration; it does not prove store liveness or external activation. Recording is bounded and fail-open, and this release makes no payment, card-issuance, execution, or proof-verification behavior change.

An operator-only npm run activation:report command reads that isolated store twice with causally chained, bounded SCAN/MGET calls and emits aggregate counts only when both observed key/value passes are identical. The output is explicitly a repeatable best-effort eventual observation, not an authoritative or complete snapshot; Redis SCAN, TTL expiry/recreation, and writes outside the two passes still permit missed or ABA changes. It requires a distinct CONVICTION_ACTIVATION_REST_READ_ONLY_TOKEN, never uses the writer token or HMAC secret, fails closed without partial counts on malformed, mutating, or unavailable data, and never writes to Redis. Upstash's built-in Read Only token supports SCAN and DBSIZE, but grants broader read access than this report needs; deployment uses a least-privilege custom ACL REST credential restricted to +scan +mget, with MGET keys restricted to ~conviction-activation-v2:*, and the explicit CONVICTION_ACTIVATION_REPORT_CONFIRM_DEDICATED=activation-only-database-v2 operator attestation. Redis SCAN has no key-name argument, so its visibility cannot be confined by that key pattern; the database itself must contain only activation-observability keys. The MATCH prefix is input minimization, not an access-control boundary. Preserve provider-side evidence of the command and key policy as well as the dedicated-database attestation. The report reads only the production-only conviction-activation-v2 generation. Legacy v1 records may include Preview traffic and are deliberately excluded rather than relabeled or combined. One immutable HMAC secret belongs to one retained database/prefix generation; rotation requires a new dedicated database/URL or coordinated prefix version, and reports from the two generations must never be combined. The machine fields count only pseudonyms of wallet addresses bound in signed intents and distinct paid operation IDs. They do not count people, sessions, return visits, or retention. These first-party observations are not OKX marketplace truth and do not prove sales, reviews, sampling, organic demand, endorsement, or that a wallet controller is external or founder-independent. The report and its small-cell output remain operator-only because frequent differencing can reveal low-volume activity. See docs/ACTIVATION_OBSERVABILITY.md.

v0.4.65 adds an inert, dependency-pinned buyer-local adapter foundation for a future browser TAKE_PROFIT route. It requires an authenticated Polymarket SecureClient bound to the exact owner and Deposit Wallet, reconstructs the whole-share Standard V2 signed GTD SELL economics, pins the production Polygon CLOB environment, and uses a cross-tab IndexedDB claim keyed by the signed execution-control digest before any order submission. Unknown submission state, partial fills, regressing trade evidence, and ambiguous cancellation remain locked. No production route imports this adapter, browser TAKE_PROFIT remains agent-runtime-only, pre-payment capability gating is unchanged, and activation remains blocked on a durable server-side execution nullifier plus complete proof/reconciliation wiring. Live wiring must also derive the execution control only from an issuer-signed card plus fresh separate trade consent, and must pass a lifecycle-validated cancel request bound to the exact order, pre-cancel snapshot, confirmation time, and launch expiry.

v0.4.64 publishes Portable Proof Contract v1. Files or bounded stdin normalize offline to one canonical OPEN/CLOSE artifact; verification stays independent of Conviction APIs and now returns the subject, action-specific bounds/results, canonical artifact hash, verifier version, and embedded trust-keyset ID. Issuer trust is an append-only active/retired manifest that preserves the July production key and historical verification while rejecting every caller override. Public JSON Schemas and real production OPEN/CLOSE conformance artifacts ship with the contract. TAKE_PROFIT, legacy/recovered evidence, secret-shaped fields, and nonempty signed rationale remain explicit refusals.

v0.4.61 adds a portable third-party verifier for signed OPEN and CLOSE artifacts. npm run --silent proof:verify -- <artifact.json> --rpc <https-polygon-rpc> --ethereum-rpc <https-ethereum-rpc> uses only the local artifact, Conviction's pinned production issuer, and the caller's RPCs. It pins RootChain reads to one exact Ethereum-finalized block, proves the Polygon block fields against that checkpoint, reconstructs the full receipt trie, and requires one authenticated bounded economic receipt. It explicitly does not claim the checkpoint authenticates the full Bor block hash or transaction hash, refuses legacy, recovered-source, TAKE_PROFIT, secret-bearing, contradictory, and private-rationale artifacts, and returns one machine-readable result without calling a Conviction API.

v0.4.63 signs the exact paid-request digest, facilitator-verified X Layer payer, and factory-derived Polymarket Deposit Wallet into every newly issued OPEN, CLOSE, TAKE_PROFIT, and exact recovery card. A separate issuance-only shadow observer can persist finalized payment-to-card lineage in a dedicated Redis database without authorizing, blocking, retrying, or submitting an order. Production enforcement remains off: the health contract reports paid-card-issuance-only, enforcement:false, and executionNullifier:false until the dedicated real-store gate and shadow evidence justify a separate activation release. Legacy refreshes remain compatible only through their declared drain; Conviction never invents a paid-request digest when the exact original request is unavailable.

v0.4.62 removes the stale native-executor refresh promise. After durable entitlement activation, browser OPEN recovery returns the one stored card, while native OPEN receives one paid card and no refresh contract.

v0.4.60 adds a scheduled durable browser OPEN recovery boundary. Production requires an explicit dedicated, non-evicting Redis database and an AES-256-GCM keyring; generic shared KV credentials are rejected. A first timestamp stops new structured OPEN before x402, while already-issued v1 cards keep their published recovery path. A second timestamp at least 65 minutes later activates v2 only after that real drain. Once active, a structured OPEN fails before x402 if the ledger cannot complete an atomic write/read/delete capability probe, one settled browser payment can mint only one recovered five-minute card for its exact original request, and every retry receives the same authenticated stored result. Native-agent OPEN receives no refresh descriptor under v2; CLOSE and TAKE_PROFIT are unchanged. This release does not claim an execution nullifier.

v0.4.59 removes the Rust cold-start blocker for the released Linux x64 fallback. npm run runtime:install now downloads a dedicated artifact whose release tag points directly at the pinned plugin source, applies a strict size cap, verifies the hard-coded SHA-256, and proves the staged binary launches with the exact CLI version before publishing it. Resolution repeats that launch probe before capability evidence can reach x402. The same source and toolchain reproduced the pre-existing digest in public CI. This unblocks TAKE_PROFIT on compatible Linux x64 environments. WSL is a conditional candidate pending a real Windows-host smoke test; native Windows remains unsupported and fails closed before x402.

v0.4.56 adds an exact, buyer-authorized pUSD transfer inside Wallet Center for already-onboarded Deposit Wallets. It does not replace first-time Polymarket setup or grant a new venue permission. After the server rebinds the authenticated owner to its factory-derived Deposit Wallet, the buyer may preview and sign one EIP-712 batch containing only pUSD.transfer(destination, exactAmount), capped at 100 pUSD. Conviction rechecks the source balance before relaying, rejects arbitrary tokens, native value, extra calls, zero/self destinations, stale signatures, and substitutions, then independently requires the exact Polygon Transfer event before declaring success. The relayer pays Polygon gas; the signature authorizes no bridge, acquisition, approval, Conviction payment, or trade.

v0.4.57 makes OPEN and CLOSE submission recovery deterministic across plugin timeouts and parent-process crashes. Before the CLOB POST, the pinned buyer-local runtime durably records the exact EIP-712 order ID and its signed economics in a private owner-only sidecar. Conviction can then reconcile only that order and its Polygon settlement; ambiguous outcomes stay locked, definitive rejections require authenticated post-expiry absence, and a second invocation cannot overwrite the first attempt. This recovery contract is released for OPEN and CLOSE only; TAKE_PROFIT keeps its existing authenticated order lifecycle.

v0.4.58 moves TAKE_PROFIT runtime eligibility ahead of x402. A nonempty paid manager request for TAKE_PROFIT must now carry buyer-local evidence that the exact pinned fallback binary passed its immutable release-digest check on a released platform. Missing, declared-only, stale, substituted, or unreleased-platform evidence returns unsupported_execution_runtime with paymentAllowed:false before Conviction issues or verifies a payment challenge. Bare marketplace discovery remains unchanged. The evidence is a fail-closed capability declaration, not remote attestation: a malicious buyer can lie only to charge itself, while normal clients can no longer discover Windows or missing-runtime incompatibility after paying.

v0.4.55 completes the browser OPEN-to-CLOSE product surface without changing the two listed services or their prices. It also binds Deposit Wallet CLOSE orders to the official V2 POLY_1271 identity: both maker and order signer are the buyer's Deposit Wallet, while the owner EOA signs the outer typed-data envelope. Portfolio distinguishes the original OPEN fill from the current aggregate wallet holding read directly from Polygon and limits one source to min(current balance, source fill). A buyer can run a free source/balance/bid/approval preview, authenticate locally with Polymarket, confirm exactly 0.10 USD₮0 on X Layer, then separately confirm one exact FOK SELL. The browser verifies the signed manager card, serializes execution across tabs, and treats durable localStorage as the sole recovery authority; a same-tab session copy is only a mirror and never authorizes recovery on its own. Every authoritative write is read back exactly. Before its single submit it validates and persists the deterministic V2 order ID, exact exchange, finalized Polygon scan-start block, trade-confirmation time, and signed-order time. A lost CLOB response never triggers another sell: reconciliation accepts only that order's finalized Polygon fill or a fresh owner-authenticated exact CLOB proof of CANCELED/EXPIRED, zero matched shares, and no trades. Unknown, active, partial, stale, or unauthenticated evidence stays locked. After a fill, the browser automatically waits up to two minutes for receipt visibility and Polygon finality, then hash-checks and binds the proof to the exact card, order, transaction, wallet, receipt, and passport before unlocking the page for any remaining shares. OPEN payment recovery remains limited to 60 minutes. A settled Position Manager payment can issue a fresh five-minute card for the same source and bounds for four hours without another payment; every card still requires distinct trade consent. Its X Layer reconciliation searches only the authorization's signed five-minute timestamp interval and retries one transient RPC round, rather than sweeping unrelated historical blocks. Manager compilation accepts only a narrow three-second Polygon block-clock lead, keeps the thirty-second stale bound unchanged, and recovery refetches a genuinely stale position snapshot once before failing closed. Browser verification also waits through at most three seconds of signed-card issuer/browser clock skew before enabling trade consent; larger future skew and true expiry remain distinct fail-closed errors. Browser OPEN passed a controlled live run (payment, fill, position proof 0x0f187f83178e24a1aab509474aa9ea779d90bccea578bc20f4c2af98ee9fba67). Because that controlled OPEN completed before durable browser dossier storage landed, v0.4.46 added a migration-only recovery form. It re-verifies the exact payment and fill from both chains, the owner-to-factory-wallet relationship, the market's CTF tokens, finality, and current balance, while explicitly declining to recreate missing signed bounds; recovered evidence can authorize CLOSE only. v0.4.47 bound future OPEN cards to the canonical CTF contract and safely accepted earlier signed v4 OPEN dossiers only when the CLOSE card supplies that same pinned contract. v0.4.48 moved that canonical pin into a browser-safe module so Portfolio initializes without evaluating server-only environment access. Browser CLOSE subsequently passed its controlled live round trip (payment, settlement, CLOSE proof 0xa53a5b45620b736a5acc55f6a9832da64adc927898d649ab53c607f7b0b1db78).

Status

  • Browser OPEN and CLOSE: v0.4.41 introduced the buyer-local OPEN journey; v0.4.42 moved authenticated balance, allowance, CLOB access, and exact venue readiness ahead of payment; v0.4.43 records the successful controlled live OPEN and durable manager handoff. v0.4.44 added source-verified live position display and separately paid, separately confirmed exact browser CLOSE with durable recovery. v0.4.45 added a deliberately lower-assurance, migration-only chain recovery for the pre-dossier controlled OPEN; it is wallet-pair scoped, time-bounded, reverified before use, and CLOSE-only. v0.4.46 calls the deployed shared-function dispatchers directly and uses an archive-capable Polygon RPC for historical verification. v0.4.47 added canonical CTF identity to future OPEN intents and backward-compatible verification for existing signed v4 dossiers without weakening substitution checks. v0.4.48 keeps that canonical pin browser-safe and gates the built manager bundle against server-only environment access. The controlled live browser CLOSE round trip has now passed with separately consented payment, exact FOK settlement, and issuer-signed proof.
  • OPEN: fresh buyer-seat 0.05 USD₮0 payment, one confirmed bounded order, exact 10 YES Polygon fill, and independent position proof passed in 42.0 seconds locally / 48.8 seconds independently (payment, fill)
  • CLOSE: fresh buyer-seat 0.10 USD₮0 payment, one confirmed exact 10 YES FOK sale, and independent close proof passed in 56.7 seconds locally / 61.7 seconds independently (payment, fill)
  • TAKE_PROFIT: fresh buyer-seat 0.10 USD₮0 payment armed exactly one zero-match post-only 9 YES GTD order with an authenticated proof in 38.0 seconds locally / 42.3 seconds independently; exact cancellation then returned CANCELED, zero matched, no open orders, and no global execution lock (payment)
  • Public web surface: buyer-local OPEN, source-verified live Polygon holdings, free exact CLOSE preview, separately consented paid browser CLOSE, and public proof verification are deployed and controlled-live proven; TAKE_PROFIT remains agent-runtime only
  • OKX.AI ASP: Conviction #7034 retained its two-service catalog (0.05 USDT OPEN and 0.10 USDT Position Manager) but was delisted during the 2026-08-01 endpoint-service review pending clearer cold-start parameters and examples. The services remain live while relisting is repaired; do not describe the agent as currently listed. Before that review, an external tester using an OKX account and wallet they controlled completed both services through the marketplace path. OPEN task 0xb26b10609e2223971d922719332916ba4cb5a893ad3d23cc53c4cc6e7b5d6b4c settled its X Layer payment, bought exactly 5 YES in this Polygon fill, and returned position proof 0x940dbcbad48e58a99e328b2438ac75b6351d2d5c343aa6917d233586c290e8e3. Position Manager task 0xccc330e2e8d5521c617d00ced9bc6440a5736275a139ac0ad50458c1b7f37bb7 settled its separate X Layer payment, sold exactly 5 YES FOK in this Polygon settlement, and returned CLOSE proof 0xb44ab45e7547b2c4e7fd919a7a81f535f4fac247743ffee41c8fcfb647030414. The test was founder-funded and received integration support; it proves external execution acceptance, not unassisted onboarding, organic demand, retention, or financial performance.
  • Shareable evidence: the sanitized 2026-07-22 live acceptance pack records the controlled OPEN, CLOSE, TAKE_PROFIT, cancellation, timing, adversarial results, and the explicit pre-native execution provenance

The bundled acceptance pack is controlled house evidence. The marketplace OPEN/CLOSE evidence above is a separate founder-funded, assisted external-operator run. It proves that one external operator completed the current journey, not unassisted adoption, retention, organic traction, or financial performance.

Built for OKX.AI Genesis.

About

Non-custodial bounded YES/NO prediction-market execution for OKX.AI

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages