Skip to main content
starknet-mini-pay Simple P2P payments on Starknet. Generate QR codes, payment links, invoices, and transfer ETH/STRK/USDC. Like Lightning, but native.
Jump to install Skills Marketplace Discover and explore AI skills built by the community.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Copy promptShow prompt details A direct command skips the review prompt. Inspect the source before running it.
npx skills add https://github.com/keep-starknet-strange/starknet-agentic --skill starknet-mini-payThe command stays on one line. Scroll horizontally to inspect it before copying.
Prefer a local copy? Download the files currently available to SkillsMP.
Download Zip Downloading... More from this repository Routes Starknet agent, wallet, DeFi, identity, SDK, and Cairo contract work to the smallest focused skill module.
SNIP-36 virtual block proving on Starknet. Trigger on "virtual block", "SNIP-36", "off-chain proof", "anonymous vote", "heavy computation off-chain", "prove a transaction". Covers Cairo virtual contract, proof server, starknet.js integration, and on-chain verification.
Security audit of Cairo/Starknet code. Trigger on "audit", "check this contract", "review for security". Modes - default (full repo), deep (+ adversarial reasoning), or specific filenames.
name starknet-mini-pay description Simple P2P payments on Starknet. Generate QR codes, payment links, invoices, and transfer ETH/STRK/USDC. Like Lightning, but native. license Apache-2.0 metadata {"author":"starknet-agentic","version":"1.0.0","org":"keep-starknet-strange"} keywords ["starknet","payments","qr-code","payment-links","lightning","p2p","transfer","invoice","strk","eth","usdc"] allowed-tools ["Bash","Read","Write","Glob","Grep","Task"] user-invocable true
Starknet Mini-Pay Skill
Simple P2P payments on Starknet. Like Lightning, but native.
Related modules: skills catalog .
When to Use
Generating payment links, QR codes, invoices, or Telegram payment flows on Starknet.
Sending simple user-to-user ETH, STRK, or USDC transfers with payment UX around them.
When NOT to Use
DeFi-specific swaps, staking, or lending flows.
Cairo contract authoring, deployment-only tasks, or security auditing.
Overview โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ STARKNET MINI-PAY โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ QR Codes โ โ Payment โ โ Telegram Bot โ โ
โ โ Generator โ โ Links โ โ Interface โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ โ โ โ
โ โโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโผโโโโโโโโโโ โ
โ โ starknet-py โ โ
โ โ SDK + RPC โ โ
โ โโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ โ
โ โผ โผ โผ โ
โ โโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ
โ โ ArgentX โ โ Braavos โ โ Generic โ โ
โ โ Account โ โ Account โ โ Account โ โ
โ โโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Features Feature Description P2P Transfers Send ETH/STRK/USDC to any Starknet address QR Codes Generate QR codes for addresses (scan to pay) Payment Links starknet:<addr>?amount=1&memo=coffeeInvoice System Generate payment requests with expiry Telegram Bot Send/receive via Telegram commands Transaction History Track all transfers with status
Quick Start
CLI Usage
python3.12 scripts/cli.py send 0x123... 0.5 --memo "coffee"
python3.12 scripts/cli.py qr 0x123... --output qr.png
python3.12 scripts/cli.py link 0x123... --amount 0.1 --memo "lunch"
python3.12 scripts/cli.py invoice 0x123... 25.00 --expires 1h
python3.12 scripts/cli.py status 0xabcdef...
python3.12 scripts/cli.py balance 0x123...
Payment Link Format starknet:<address>?amount=<value>&memo=<text>&token=<ETH|STRK|USDC>
starknet:0x053c91253bc9682c04929ca02ed00b3e423f6714d2ea42d73d1b8f3f8d400005?amount=0.01&memo=coffee&token=ETH
Telegram Bot Commands /pay <address> <amount> [memo] - Send payment
/qr - Show your QR code
/balance - Check balance
/link <amount> [memo] - Generate payment link
/invoice <amount> - Create invoice
/history - Transaction history
/help - Show help
Architecture starknet-mini-pay/
โโโ SKILL.md
โโโ README.md
โโโ scripts/
โ โโโ cli.py # Main CLI interface
โ โโโ mini_pay.py # Core payment logic
โ โโโ qr_generator.py # QR code generation
โ โโโ link_builder.py # Payment link builder
โ โโโ invoice.py # Invoice system
โ โโโ telegram_bot.py # Telegram bot
โ โโโ starknet_client.py # Starknet RPC client
โโโ contracts/
โ โโโ payment_request.cairo # Optional invoice contract
โโโ tests/
โโโ test_payments.py
Dependencies pip install starknet-py --break-system-packages
pip install qrcode[pil] --break-system-packages
pip install python-telegram-bot --break-system-packages
pip install httpx aiosqlite --break-system-packages
Configuration
export STARKNET_RPC="https://rpc.starknet.lava.build:443"
export MINI_PAY_PRIVATE_KEY="0x..."
export MINI_PAY_ADDRESS="0x..."
export TELEGRAM_BOT_TOKEN="..."
export TELEGRAM_CHAT_ID="..."
Core Functions
Send Payment from mini_pay import MiniPay
pay = MiniPay(rpc_url="https://rpc.starknet.lava.build:443" )
tx_hash = pay.send(
from_address="0x..." ,
private_key="0x..." ,
to_address="0x123..." ,
amount_wei=0.5 * 10 **18 ,
token="ETH"
)
status = pay.get_status(tx_hash)
print (f"Status: {status} " )
Generate QR Code from qr_generator import QRGenerator
qr = QRGenerator()
qr.generate(
address="0x053c91253bc9682c04929ca02ed00b3e423f6714d2ea42d73d1b8f3f8d400005" ,
amount=None ,
memo=None ,
output_file="address_qr.png"
)
Payment Links from link_builder import PaymentLink
link = PaymentLink()
url = link.create(
address="0x123..." ,
amount=0.01 ,
memo="coffee" ,
token="ETH"
)
data = link.parse("starknet:0x123...?amount=0.01&memo=coffee" )
Invoice System from invoice import InvoiceManager
invoice = InvoiceManager()
invoice_data = invoice.create(
payer_address="0x..." ,
amount=25.00 ,
token="USDC" ,
expiry_seconds=3600 ,
description="Payment for services"
)
status = invoice.get_status(invoice_data.id )
Telegram Bot
Run Bot python3.12 scripts/telegram_bot.py
Bot Flow User: /pay 0x123... 0.5 coffee
Bot: ๐ค Sending 0.5 ETH to 0x123... (memo: coffee)
Bot: โณ Transaction pending: 0xabc...
Bot: โ
Confirmed in block #12345
Optional: Invoice Contract For trustless invoices, deploy the Cairo contract:
// contracts/payment_request.cairo
#[starknet::contract]
mod PaymentRequest {
#[storage]
struct Storage {
request_id: u256,
requests: Map<u256, Request>,
owner: ContractAddress,
}
#[derive(Drop, Serde)]
struct Request {
amount: u256,
token: ContractAddress,
recipient: ContractAddress,
expiry: u64,
fulfilled: bool,
memo: felt252,
}
#[external(v0)]
impl IPaymentRequestImpl of IPaymentRequest<ContractState> {
fn create_request(
ref self: ContractState,
amount: u256,
token: ContractAddress,
expiry: u64,
memo: felt252
) -> u256 {
// Create payment request
}
fn fulfill_request(
ref self: ContractState,
request_id: u256
) {
// Execute payment
}
}
}
Error Handling Error Cause Solution INSUFFICIENT_BALANCENot enough ETH for transfer Add more ETH to account ACCOUNT_NOT_FOUNDInvalid sender address Check address format INVALID_AMOUNTAmount <= 0 Use positive amount TX_FAILEDTransaction reverted Check recipient address INVOICE_EXPIREDInvoice past expiry Create new invoice
Payment Flow โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ Sender โ โ Mini-Pay โ โ Recipient โ
โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ
โ โ โ
โ 1. Initiate โ โ
โโโโโโโโโโโโโโโโโโโโถโ โ
โ โ โ
โ โ 2. Execute โ
โ โ ETH Transfer โ
โ โโโโโโโโโโโโโโโโโโโถ
โ โ โ
โ โ 3. Confirm โ
โ โโโโโโโโโโโโโโโโโโโโ
โ 4. Success โ โ
โโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
Security Notes
Private keys : Never expose in logs or error messages
Amount validation : Prevent negative/zero amounts
Expiry checks : Invoices expire automatically
Address format : Validate Starknet addresses (0x... format)
Comparison with Lightning Feature Lightning Starknet Mini-Pay Setup time Hours (channels) Instant Privacy Onion routing Native (per txn) Speed ~1 sec ~2-3 min Fees Variable Predictable Custody Lightning node Self-custody Native No (needs BTC) Yes (Starknet native)
Roadmap
Resources Related occupations SOC
Based on SOC occupation classification