Skip to content

[P0] Complete and confirm one autonomous x402 Solana devnet payment #34

Description

@TFT444

Objective

Complete one genuine x402 payment on Solana devnet through the autonomous SolGuard security path and independently confirm its transaction on-chain.

Dependencies

Blocked by #32 and #33.

Scope

  • Use the official x402 client and SVM support already introduced in the repository.
  • Request a real paid test resource and validate the returned x402 v2 payment requirements.
  • Canonicalize the selected recipient, amount, token mint, network, and expiry before policy evaluation.
  • Route the payment through the autonomous decision API and isolated wallet signer.
  • Submit settlement through the configured x402 facilitator only after ALLOW.
  • Capture the returned Solana transaction signature.
  • Confirm the signature through Solana RPC and record confirmation status, slot, mint, source, destination, and actual balance delta.
  • Return the paid resource to the autonomous agent only after the expected payment flow succeeds.
  • Preserve the deterministic simulated settlement path as the network-independent fallback.

Security invariants

  • The x402 response cannot override a hard mandate or SolGuard decision.
  • Unsupported networks, mints, schemes, facilitators, or recipients fail closed.
  • No transaction is signed or submitted before ALLOW and authorization verification.
  • A facilitator response alone is not presented as on-chain confirmation.
  • Duplicate settlement protection remains active.
  • Credentials and wallet secrets never enter the repository, frontend, logs, or evidence package.

Acceptance criteria

  • An autonomous allowed request obtains the paid resource without payment-by-payment human interaction.
  • The returned transaction signature is independently visible through Solana devnet RPC or Explorer.
  • The recorded transaction fields match the canonical request and SolGuard authorization.
  • Before/after devnet balances are queried rather than hardcoded.
  • The evidence explicitly labels devnet tokens as having no real monetary value.
  • Network, RPC, facilitator, and settlement failures stop safely without manufacturing a signature or success state.
  • The local simulated fallback remains deterministic and fully tested.
  • Integration tests use injected transports; the credentialed live exercise remains opt-in.

Evidence required before closure

  • Transaction signature
  • RPC confirmation response
  • Explorer URL using the devnet cluster
  • Sanitized SolGuard authorization receipt
  • Paid-resource response
  • Exact command and source commit used

Keywords

x402-v2 solana-devnet on-chain-confirmation autonomous-payment facilitator usdc cryptographic-proof

Real-evidence contract

  • The devnet transaction demonstrates that legitimate autonomous commerce still works after SolGuard authorizes it; it is not a claim of real monetary settlement.
  • Treat RPC confirmation as authoritative and use Explorer only as an independently inspectable presentation link.
  • Display only RPC-derived wallet addresses, transaction signatures, slots, token mints, confirmation states, and balance changes.
  • Keep any large treasury or pound-denominated scenario in a separately labelled simulated ledger. Devnet tokens must never be assigned a real GBP value.
  • The transaction and authorization proofs may be displayed; private keys, seed phrases, and raw secret material may not.
  • The real path must remain optional so an external outage cannot force the deterministic security proof to fabricate settlement evidence.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: integrationPayment protocol and wallet integrationsarea: securitySecurity controls and threat mitigationsbuild-orderControls the mandatory implementation sequencepriority: P0Required for the minimum viable secure product

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions