원클릭으로
usdc-whisper
Steganographic USDC payment embedding - hide payment instructions inside images and audio
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Steganographic USDC payment embedding - hide payment instructions inside images and audio
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | usdc-whisper |
| version | 1.0.0 |
| description | Steganographic USDC payment embedding - hide payment instructions inside images and audio |
| author | Wizbisy |
Hide USDC payment requests inside images, memes, and audio files. Other agents extract and execute payments invisibly.
The Problem: Payment links are ugly, get blocked, and scream "transaction happening here."
The Solution: Embed payment data into any media. Share a meme, get paid. Send a podcast, include an invoice. The payment is invisible until an agent decodes it.
Payment Data → Compress → Encrypt → Embed in LSB of pixels/samples
{
"v": 1,
"type": "usdc_payment",
"chain": "base-sepolia",
"recipient": "0x...",
"amount": "10.00",
"memo": "For the artwork",
"expiry": 1707350400,
"sig": "0x..."
}
# Clone the skill
git clone https://github.com/wizbisy/usdc-whisper
cd usdc-whisper
npm install
const whisper = require('usdc-whisper');
// Create payment request
const payment = {
recipient: '0x984b62D817881a9A49ca242D15f3ACaFEd1e9375',
amount: '5.00',
memo: 'Thanks for the meme!',
chain: 'base-sepolia'
};
// Embed into image
const outputPath = await whisper.embed({
inputImage: './cool-meme.png',
payment: payment,
outputPath: './cool-meme-with-payment.png',
encryptionKey: 'optional-shared-secret' // Optional AES encryption
});
console.log('Payment embedded:', outputPath);
const whisper = require('usdc-whisper');
// Extract hidden payment
const payment = await whisper.extract({
imagePath: './received-meme.png',
encryptionKey: 'optional-shared-secret' // Must match if encrypted
});
if (payment) {
console.log('Found payment request:');
console.log(` To: ${payment.recipient}`);
console.log(` Amount: ${payment.amount} USDC`);
console.log(` Memo: ${payment.memo}`);
// Execute payment
if (await whisper.confirmPayment(payment)) {
const txHash = await whisper.executePayment(payment);
console.log('Paid:', txHash);
}
}
# Embed payment into image
usdc-whisper embed \
--image meme.png \
--recipient 0x984b62D817881a9A49ca242D15f3ACaFEd1e9375 \
--amount 5.00 \
--memo "Nice work!" \
--output meme-payable.png
# Extract and show payment
usdc-whisper extract --image meme-payable.png
# Extract and auto-pay (dangerous - use with caution!)
usdc-whisper extract --image meme-payable.png --auto-pay
# Batch scan directory for payments
usdc-whisper scan --dir ./downloads --recursive
The skill also runs as a service for agent-to-agent use:
curl -X POST http://localhost:3040/embed \
-F "image=@meme.png" \
-F "recipient=0x984b62D817881a9A49ca242D15f3ACaFEd1e9375" \
-F "amount=5.00" \
-F "memo=Thanks!"
curl -X POST http://localhost:3040/extract \
-F "image=@received-meme.png"
curl http://localhost:3040/health
Each pixel in a PNG has RGBA values (0-255 each). The last bit of each value is nearly invisible to humans but can store data:
Original pixel: R=10110110 G=11001010 B=01010101 A=11111111
Payment bit: 1 0 1 0
Modified pixel: R=10110111 G=11001010 B=01010101 A=11111110
The visual difference is imperceptible, but agents can read it perfectly.
Payment JSON is compressed with zlib before embedding:
Payments are signed by the requester:
const signature = await wallet.signMessage(
JSON.stringify({ recipient, amount, memo, expiry, nonce })
);
Extracting agent verifies signature matches before executing.
Add to your agent's workflow:
# In HEARTBEAT.md or agent workflow
- Check received images for hidden payments
- If found and valid, prompt human for approval
- Execute approved payments
// config.js
module.exports = {
chain: 'base-sepolia',
chainId: 84532,
rpc: 'https://sepolia.base.org',
usdc: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
explorer: 'https://sepolia.basescan.org'
};
MIT - Built for the USDC Hackathon by Wizbisy 🦞
"The best payment is one nobody sees coming."