Deposit QR
SkillCommerce & financeUse 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.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Deposit QR skill
What this skill tells your AI
The instructions your AI receives, as published by superior-trade/superior-skills in skills/deposit-qr/SKILL.md and read by ahel’s review.
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. Use GET /wallet for the managed destination and deposit
details currently exposed by Unified API.
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.
Required Inputs
Ask for or verify all four fields:
- Destination wallet address, for example
0x1111111111111111111111111111111111111111 - Chain, for example
arbitrum,base,avalanche,polygon, orethereum - Asset, for example
USDC,USDC.e,ETH,AVAX,MATIC, or a token contract address - Amount
Never guess the chain. The same address can exist on many EVM chains, and sending a token on the wrong chain can strand funds.
Safety Rules
- Do not request private keys, seed phrases, passwords, or exchange credentials.
- Show the destination address, chain, asset, token contract, and amount before presenting the QR code.
- Warn that the user must send the correct asset on the correct chain.
- For ERC-20 tokens, include the token contract address in the summary.
- For wallet compatibility, provide both the EIP-681 QR and a plain-address fallback QR.
- Do not claim a deposit arrived. Verify with the relevant chain explorer, wallet balance, or Superior Trade API after the user sends funds.
- Do not use MetaMask deeplinks or QR codes for arbitrary contract calldata. This skill only covers native-token and ERC-20
transferpayment URIs.
QR Generator
Use the bundled script:
node skills/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 destination
Display the QR in Markdown when the client supports images:

Example: Fund a Superior Wallet with Arbitrum USDC
node skills/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.
Common Mistakes
- Using this QR as the Lighter intent address. The destination here is the Superior wallet, not the Lighter deposit intent.
- Omitting the chain. A plain address QR alone does not specify Arbitrum vs Base vs Avalanche.
- Using Ethereum mainnet USDC when the workflow needs Arbitrum/Base/Avalanche USDC.
- Assuming every wallet supports ERC-20 EIP-681 transfer URIs. Always provide the plain-address fallback.
- Using this primitive for Relay or other bridge UIs. Use
skills/external-depositfor prefilled bridge links and quote-backed external wallet flows.
Next Step for Lighter
After sending funds, use Unified API to inspect the managed wallet and deposit history:
GET /wallet
GET /wallet/deposits
If the current OpenAPI contract does not expose a Lighter CCTP intent action, report that venue-funding step as unavailable.
Signals
- GitHub stars
- 211
- Forks
- 9
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
deposit-qr- Source
- github.com/superior-trade/superior-skills