Skip to main content

Overview

game-plugin-oneshot is a Python package that exposes 31 OneShot tools as a Virtuals Protocol GAME worker. It handles x402 payment signing automatically so your GAME agents can send emails, make phone calls, run research, buy products, and build websites.
This plugin builds on langchain-oneshot under the hood — it reuses the same HTTP + x402 payment flow, so all payments are signed locally via eth-account.

Installation

Requirements

  • Python 3.10+
  • A wallet private key (for x402 payment signing)
  • USDC on Base Mainnet
  • A Virtuals GAME API key

Dependencies

Quick Start

The SDK operates on Base Mainnet with real USDC. Fund your agent wallet before making paid tool calls.

Available Tools

See Pricing for current tool costs.
The plugin exposes all 31 OneShot tools — the same set as the MCP server and langchain-oneshot.

How Payments Work

All paid tools use the x402 protocol. The flow is fully automatic:
  1. Your GAME agent invokes a tool (e.g. oneshot_email)
  2. The plugin POSTs to the OneShot API
  3. The API returns 402 Payment Required with a USDC quote
  4. The plugin signs a TransferWithAuthorization (EIP-3009) locally using your private key
  5. The plugin re-POSTs with the signed payment in the x-payment header
  6. The API processes the job and returns the result
Your private key never leaves your machine. All signing happens locally via eth-account.

Complex Arguments

GAME Argument only supports scalar types (string, int, float, bool). For tools that need structured input like commerce_buy and build, pass JSON strings:
You don’t need to handle this manually — the GAME agent’s LLM will generate JSON strings for structured arguments automatically. This section is for debugging and manual testing.

Configuration

Environment Variables

PyPI Package

View on PyPI

Virtuals Protocol

Virtuals Protocol platform

TypeScript SDK

TypeScript SDK docs

LangChain SDK

LangChain integration