Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

x402 Compute

v1.2.0

This skill should be used when the user asks to "provision GPU instance", "spin up a cloud server", "list compute plans", "browse GPU pricing", "extend compu...

2· 742· 10 versions· 1 current· 1 all-time· Updated 10h ago· MIT-0
byIvaavi.eth@ivaavimusic

Install

openclaw skills install x402-compute

x402 Singularity Compute

Provision and manage GPU/VPS instances paid with x402 or MPP.

Base URL: https://compute.x402layer.cc x402 Networks: Base (EVM) • Solana x402 Currency: USDC MPP Methods: Tempo • Stripe/card when enabled by the service Protocol: HTTP 402 Payment Required (X-Payment for x402, Authorization: Payment for MPP)

Access Note: Preferred access is SSH public key. If no SSH key is provided, a one-time password fallback can be fetched once via API.


Quick Start

1. Install Dependencies

pip install -r {baseDir}/requirements.txt

2. Choose Wallet Mode

Option A: Direct signing keys (Base or Solana)

# Base (EVM)
export PRIVATE_KEY="0x..."
export WALLET_ADDRESS="0x..."

# Solana
export SOLANA_SECRET_KEY="base58-or-json-array"
export SOLANA_WALLET_ADDRESS="YourSolanaAddress"
export COMPUTE_AUTH_CHAIN="solana"

Option B: OpenWallet / OWS (optional-first)

npm install -g @open-wallet-standard/core
export OWS_WALLET="compute-wallet"
export COMPUTE_AUTH_MODE="ows"

Create COMPUTE_API_KEY (optional) for management endpoints:

python {baseDir}/scripts/create_api_key.py --label "my-agent"

OWS is best for compute auth and routine management flows. Direct x402 provision and extend still use local payment-signing paths. MPP provision/extend should use mppx or Tempo Wallet.


⚠️ Security Notice

IMPORTANT: This skill handles private keys for signing blockchain transactions.

  • Never use your primary custody wallet - Create a dedicated wallet with limited funds
  • Private keys are used locally only - They sign transactions locally and are never transmitted
  • For testing: Use a throwaway wallet with minimal USDC

Scripts Overview

ScriptPurpose
browse_plans.pyList available GPU/VPS plans with pricing
browse_regions.pyList deployment regions
provision.pyProvision a new instance (x402 payment, --months or --days)
create_api_key.pyCreate an API key for agent access (optional)
list_instances.pyList your active instances
instance_details.pyGet details for a specific instance
get_one_time_password.pyRetrieve one-time root password fallback
extend_instance.pyExtend instance lifetime (x402 payment)
destroy_instance.pyDestroy an instance
ows_cli.pyRun OpenWallet / OWS wallet, sign-message, and key commands
solana_signing.pyInternal helper for Solana x402 payment signing

Instance Lifecycle

Browse Plans → Provision (pay USDC) → Active → Extend / Destroy → Expired

Instances expire after their prepaid duration. Extend before expiry to keep them running.


Workflows

A. Browse and Provision

# List GPU plans
python {baseDir}/scripts/browse_plans.py

# Filter by type (gpu/vps/high-performance)
python {baseDir}/scripts/browse_plans.py --type vcg

# Check available regions
python {baseDir}/scripts/browse_regions.py

# Generate a dedicated SSH key once (recommended for agents)
ssh-keygen -t ed25519 -N "" -f ~/.ssh/x402_compute

# Provision an instance for 1 month (triggers x402 payment)
python {baseDir}/scripts/provision.py vcg-a100-1c-2g-6gb lax --months 1 --label "my-gpu" --ssh-key-file ~/.ssh/x402_compute.pub

# Provision a daily instance (cheaper, use-and-throw)
python {baseDir}/scripts/provision.py vc2-1c-1gb ewr --days 1 --label "test-daily" --ssh-key-file ~/.ssh/x402_compute.pub

# Provision for 3 days
python {baseDir}/scripts/provision.py vc2-1c-1gb ewr --days 3 --label "short-task" --ssh-key-file ~/.ssh/x402_compute.pub

# Provision on Solana
python {baseDir}/scripts/provision.py vc2-1c-1gb ewr --months 1 --label "my-sol-vps" --network solana --ssh-key-file ~/.ssh/x402_compute.pub

# Provision via MPP / mppx (Tempo by default; Stripe/card if your mppx config supports it)
npx mppx https://compute.x402layer.cc/compute/provision \
  -X POST \
  -J '{"plan":"vc2-1c-1gb","region":"ewr","os_id":2284,"label":"mpp-vps","prepaid_hours":24,"ssh_public_key":"ssh-ed25519 AAAA... agent"}'

# If the response includes management_api_key, store it for later instance management:
export COMPUTE_API_KEY="x402c_..."

# ⚠️ After provisioning, wait 2-3 minutes for Vultr to complete setup
# Then fetch your instance details (IP, status):
python {baseDir}/scripts/instance_details.py <instance_id>

B. Manage Instances

# Optional: create a reusable API key (avoids message signing each request)
python {baseDir}/scripts/create_api_key.py --label "my-agent"

# List all your instances
python {baseDir}/scripts/list_instances.py

# Get details for one instance
python {baseDir}/scripts/instance_details.py <instance_id>

# Optional fallback if no SSH key was provided during provisioning
python {baseDir}/scripts/get_one_time_password.py <instance_id>

# Extend by 1 day
python {baseDir}/scripts/extend_instance.py <instance_id> --hours 24

# Extend by 1 month
python {baseDir}/scripts/extend_instance.py <instance_id> --hours 720

# Extend on Solana
python {baseDir}/scripts/extend_instance.py <instance_id> --hours 720 --network solana

# Extend via MPP. MPP extension requires compute auth; use the management API key
# returned from MPP provisioning or normal wallet signature auth.
npx mppx https://compute.x402layer.cc/compute/instances/<instance_id>/extend \
  -X POST \
  -H "X-API-Key: $COMPUTE_API_KEY" \
  -J '{"extend_hours":720}'

# Destroy
python {baseDir}/scripts/destroy_instance.py <instance_id>

C. OpenWallet / OWS

# List local OWS wallets
python {baseDir}/scripts/ows_cli.py wallet-list

# Sign a Base-compatible compute auth message
python {baseDir}/scripts/ows_cli.py sign-message --chain eip155:8453 --wallet compute-wallet --message "hello"

# Sign a Solana-compatible compute auth message
python {baseDir}/scripts/ows_cli.py sign-message --chain solana --wallet compute-wallet --message "hello"

# Create an OWS agent key
python {baseDir}/scripts/ows_cli.py key-create --name codex-compute --wallet compute-wallet

x402 Payment Flow

  1. Request provision/extend → server returns HTTP 402 with payment requirements
  2. Script signs payment locally:
    • Base: USDC TransferWithAuthorization (EIP-712)
    • Solana: signed SPL transfer transaction payload
  3. Script resends request with X-Payment header containing signed payload
  4. Server verifies payment, settles on-chain, provisions/extends instance

For Solana, transient facilitator failures can happen. Retry once or twice if you get a temporary 5xx verify error.

MPP Payment Flow

MPP is available side-by-side with x402 on the same paid endpoints.

  1. Request provision/extend -> server returns HTTP 402 with WWW-Authenticate: Payment
  2. mppx or Tempo Wallet creates an MPP credential
  3. Client retries with Authorization: Payment ...
  4. Server verifies the MPP payment, provisions/extends the instance, and returns Payment-Receipt

Notes:

  • POST /compute/provision can be paid via MPP without wallet auth. In that case the response includes management_api_key; store it because it is shown once and is required for later management.
  • POST /compute/instances/:id/extend via MPP requires compute auth, usually X-API-Key: $COMPUTE_API_KEY.
  • x402 remains fully supported through the Python scripts and X-Payment header flow.
  • MPP methods are service-configured. Tempo is used by default by mppx; Stripe/card requires a Stripe-capable MPP client/config.

Plan Types

TypePlan PrefixDescription
GPUvcg-*GPU-accelerated (A100, H100, etc.)
VPSvc2-*Standard cloud compute
High-Perfvhp-*High-performance dedicated
Dedicatedvdc-*Dedicated bare-metal

Environment Reference

VariableRequired ForDescription
PRIVATE_KEYBase payment signingEVM private key (0x...)
WALLET_ADDRESSBase direct-signing modeBase wallet address (0x...)
SOLANA_SECRET_KEYSolana direct-signing modeSolana signer key (base58 or JSON byte array)
SOLANA_WALLET_ADDRESSSolana direct-signing modeSolana wallet address (optional if derivable from secret)
COMPUTE_AUTH_CHAINSolana/base auth overridebase or solana
COMPUTE_API_KEYOptionalReusable API key for compute management endpoints
COMPUTE_AUTH_MODEOptionalauto, private-key, or ows
OWS_WALLETOWS auth modeOWS wallet name or ID
OWS_BINOWS auth modeOptional explicit path to the ows executable
COMPUTE_API_KEYMPP/no-wallet managementAPI key returned once after an MPP provision without wallet auth

API Reference

For full endpoint details, see:


Resources


OWS scope note

OWS support is optional-first in this release:

  • use it for compute auth and management/API-key flows
  • keep direct Base or Solana signing keys for the paid provision and extend flows

Version tags

SGLvk97337c4yc3yahkrccne0r3e35851jt4SGL Computevk97337c4yc3yahkrccne0r3e35851jt4Singularity Computevk97337c4yc3yahkrccne0r3e35851jt4agenticvk97337c4yc3yahkrccne0r3e35851jt4agentic computevk97337c4yc3yahkrccne0r3e35851jt4basevk97337c4yc3yahkrccne0r3e35851jt4computevk97337c4yc3yahkrccne0r3e35851jt4cpu rentvk97337c4yc3yahkrccne0r3e35851jt4gpu rentvk97337c4yc3yahkrccne0r3e35851jt4latestvk97337c4yc3yahkrccne0r3e35851jt4machine payment protocolvk97337c4yc3yahkrccne0r3e35851jt4mppvk97337c4yc3yahkrccne0r3e35851jt4mpp computevk97337c4yc3yahkrccne0r3e35851jt4paymentsvk97337c4yc3yahkrccne0r3e35851jt4solanavk97337c4yc3yahkrccne0r3e35851jt4tempovk97337c4yc3yahkrccne0r3e35851jt4usd.evk97337c4yc3yahkrccne0r3e35851jt4usdcvk97337c4yc3yahkrccne0r3e35851jt4web3vk97337c4yc3yahkrccne0r3e35851jt4x402vk97337c4yc3yahkrccne0r3e35851jt4x402 Protocolvk97337c4yc3yahkrccne0r3e35851jt4x402 Singularity Layervk97337c4yc3yahkrccne0r3e35851jt4x402Compute.ccvk97337c4yc3yahkrccne0r3e35851jt4

Runtime requirements

🖥️ Clawdis
OSLinux · macOS
Binspython3