superior-trade/deposit-qr
Use when a user needs a QR code or wallet payment URI to fund a Superior-managed EVM wallet on a specific chain before using Lighter, Polymarket, Hyperliquid, or other Superior Trade workflows.
npx skills add https://github.com/Superior-Trade/superior-skills --skill deposit-qr
Use this skill to create a wallet-scannable QR code for sending a coin or ERC-20 token to a Superior-managed EVM wallet address on a named chain.
This is for funding the wallet itself. It is not the same as a venue-specific deposit intent. For Lighter, a user may first need USDC in a payer wallet, but the Lighter account still requires POST /v3/portfolio/lighter/deposit to get the Lighter CCTP intent address.
For external bridge/provider flows such as Relay, Robinhood Chain USDG, MetaMask Mobile bridge links, or prefilled third-party deposit URLs, use skills/external-deposit instead. Do not use this primitive to encode arbitrary bridge calldata, approvals, or contract deposit calls into transaction QRs.
Ask for or verify all four fields:
0x1111111111111111111111111111111111111111arbitrum, base, avalanche, polygon, or ethereumUSDC, USDC.e, ETH, AVAX, MATIC, or a token contract addressNever guess the chain. The same address can exist on many EVM chains, and sending a token on the wrong chain can strand funds.
transfer payment URIs.Use the bundled script:
node skills/v3/primitives/deposit-qr/scripts/create-deposit-qr.mjs \
--address 0x1111111111111111111111111111111111111111 \
--chain arbitrum \
--asset USDC \
--amount 5
It prints JSON with:
payment_uri — EIP-681 URI for the requested token transferqr_url — hosted QR image URL for the payment URIplain_address_qr_url — fallback QR image URL containing only the destination addresssummary — human-readable chain, asset, token, amount, and destinationDisplay the QR in Markdown when the client supports images:

node skills/v3/primitives/deposit-qr/scripts/create-deposit-qr.mjs \
--address 0x1111111111111111111111111111111111111111 \
--chain arbitrum \
--asset USDC \
--amount 5
Tell the user:
Deposit QR Summary:
* Destination: 0x1111111111111111111111111111111111111111
* Chain: Arbitrum One
* Asset: native USDC
* Token contract: 0xaf88d065e77c8cC2239327C5EDb3A432268e5831
* Amount: 5 USDC
Scan the QR with a wallet that supports Arbitrum token-transfer URIs. If the wallet does not prefill the token transfer correctly, use the plain address fallback and manually select Arbitrum native USDC.
skills/external-deposit for prefilled bridge links and quote-backed external wallet flows.After the wallet has the correct USDC, use the lighter skill to create the Lighter CCTP deposit intent:
POST /v3/portfolio/lighter/deposit
That endpoint returns the actual Lighter intent address to receive the USDC transfer for venue credit.
Take superior-trade/deposit-qr from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.