Skip to content

Feature request: optional paid Base transaction preflight before wallet execution #30

Description

@yl124915300-dot

The swap and marketplace skills already produce complete unsigned transaction data immediately before a configured wallet signs it. The repository also ships a production x402 buyer (@opensea/tool-sdk paidFetch). Would you consider an optional Base-only preflight at that boundary?

Exact insertion points

  1. opensea-swaps/SKILL.md: after a quote returns transactionSubmissionData, before the wallet execution step.
  2. opensea-marketplace/references/seaport.md::buyNFT: after fulfillment calldata is encoded, before wallet.sendTransaction.

For chainId == 8453, the skill could call:

const result = await paidFetch(
  "https://jarvis-orderflow-router.yl124915300.workers.dev/v1/outcomes/tx-execution-preflight",
  {
    method: "POST",
    headers: { "content-type": "application/json" },
    body: JSON.stringify({
      chain: "base",
      from: buyerAddress,
      to: tx.to,
      value: tx.value,
      calldata: tx.data,
    }),
    maxAmount: "8000",
  },
);

This is a third-party x402 endpoint priced at $0.008 USDC. It returns a machine-readable PAY, REVIEW, or REJECT outcome with reason codes after point-in-time balance, allowance, nonce, contract-target, eth_call, and gas checks.

Suggested behavior:

  • Strictly opt-in and Base-only; no behavior change for other chains.
  • PAY: continue to the existing wallet execution step.
  • REVIEW: present reasons and require explicit confirmation.
  • REJECT: stop before the wallet signs unless the user explicitly overrides.
  • Keep the current transaction review/confirmation requirements; this adds evidence and does not replace user approval.
  • Document that results are point-in-time and do not guarantee settlement.

Why this may be used rather than merely supported

The current flows execute aggregator or Seaport calldata and already warn callers to verify fulfillment data before signing. The marketplace reference also identifies missing ERC-20 balance/allowance as a common simulation failure. At these two insertion points, the agent has the complete {from,to,value,calldata} and an x402-capable wallet adapter in the same project, so no new payment infrastructure or endpoint discovery is required.

Because this repository is a read-only mirror of an internal monorepo, I am opening a design/feature request rather than assuming an external PR is mergeable. If useful, I can follow up with a small documentation diff scoped to one Base swap path for maintainers to recreate internally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions