Install
openclaw skills install openpaymentCreate x402 stablecoin payment links using the OpenPayment CLI.
openclaw skills install openpaymentCreates x402 stablecoin payment links via the openpayment CLI.
All links are hosted at OpenPayment and settle in USDC on Base.
Use this skill whenever a user wants to create a payment link, request a stablecoin payment, set up a crypto payment, generate a USDC payment URL, or mentions x402, OpenPayment, or wants to get paid in crypto/stablecoins on Base. Trigger even if the user says things like "create a payment link", "I want to accept USDC", "generate a crypto payment request", "send me money in stablecoins", or "set up a blockchain payment".
OpenPayment lets merchants, creators, developers, and AI agents accept USDC payments with shareable payment links and APIs. 0% platform fees, instant settlement to recipient wallet, and no sign-up required. Powered by x402.
npm i -g openpayment
openpayment create \
--type "<PAYMENT_TYPE>" \
--price "<AMOUNT>" \
--payTo "<EVM_ADDRESS>" \
--network "<NETWORK>" \
[--resourceUrl "<HTTPS_URL_FOR_PROXY>"] \
--description "<DESCRIPTION>"
| Flag | Description | Example |
|---|---|---|
--type | Payment type (see below) | SINGLE_USE |
--price | Amount in human-readable USDC | 10 or 0.001 |
--payTo | Recipient EVM wallet address | 0x1234...abcd |
--network | CAIP-2 network identifier | eip155:8453 |
| Flag | Description |
|---|---|
--description | Payment description (max 500 chars) |
--resourceUrl | Required when --type is PROXY; upstream API URL (https://...) |
--json | Output as JSON instead of plain text |
| Type | When to use |
|---|---|
SINGLE_USE | One-time payment with fixed price (e.g., a specific order, invoice) |
MULTI_USE | Fixed price, can be paid multiple times (e.g., recurring product) |
VARIABLE | Reusable link; payer chooses amount per payment (e.g., tips, donations) |
PROXY | Fixed-price multi-use payment that calls a private upstream API after successful settlement |
Default to SINGLE_USE unless the user specifies otherwise.
| Network | Flag value | Description |
|---|---|---|
| Base Mainnet | eip155:8453 | Production, real USDC |
| Base Sepolia | eip155:84532 | Testnet, test USDC |
Default to eip155:8453 (Base Mainnet) unless the user says "test", "testnet", or "sepolia".
Support for other networks will be added soon.
The default currency is USDC.
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA029130x036CbD53842c5426634e7929541eC2318f3dCF7eSupport for other stablecoins and custom ERC-20 tokens will be added soon.
openpayment create \
--type "SINGLE_USE" \
--price "10" \
--payTo "0xYourWalletAddress" \
--network "eip155:8453" \
--description "Payment for order #123"
openpayment create \
--type "VARIABLE" \
--price "1" \
--payTo "0xYourWalletAddress" \
--network "eip155:8453" \
--description "Support my work"
openpayment create \
--type "MULTI_USE" \
--price "9.99" \
--payTo "0xYourWalletAddress" \
--network "eip155:8453" \
--description "Monthly subscription"
openpayment create \
--type "PROXY" \
--price "10" \
--payTo "0xYourWalletAddress" \
--network "eip155:8453" \
--resourceUrl "https://private-api.example.com/endpoint" \
--description "Proxy payment"
openpayment create \
--type "SINGLE_USE" \
--price "5" \
--payTo "0xYourWalletAddress" \
--network "eip155:84532" \
--description "Test payment"
openpayment create \
--type "SINGLE_USE" \
--price "25" \
--payTo "0xYourWalletAddress" \
--network "eip155:8453" \
--json
Plain text:
Payment created successfully
paymentId: <paymentId>
url: <paymentUrl>
Example:
Payment created successfully
paymentId: ed5b8e83-607b-4853-90c6-f4f3ba821424
url: https://openpayment.link/pay/?paymentId=ed5b8e83-607b-4853-90c6-f4f3ba821424
JSON (--json):
{
"paymentId": "<paymentId>",
"url": "<paymentUrl>"
}
Example:
{
"paymentId": "ed5b8e83-607b-4853-90c6-f4f3ba821424",
"url": "https://openpayment.link/pay/?paymentId=ed5b8e83-607b-4853-90c6-f4f3ba821424"
}
The first time the skill runs, explain to the user what payment types and networks are allowed.
--price), receiver wallet address (--payTo). If --type=PROXY, also require --resourceUrl.SINGLE_USE, network defaults to eip155:8453 (Base Mainnet).--resourceUrl)."--type: must be SINGLE_USE, MULTI_USE, VARIABLE, or PROXY--price: positive decimal number (e.g. 0.001, 10, 99.99)--payTo: valid EVM address — 0x followed by 40 hex characters--network: must be eip155:8453 or eip155:84532--description: optional string, max 500 characters--resourceUrl: required only for PROXY; must be a valid https:// URLNever ask for or share user private keys and secrets.