Dinero en la Mesa — Perp DEX costs & funding
Dinero en la Mesa: live all-in cost (fees + slippage) and funding on 28 perp DEXs. Free, read-only.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Agent wallet with limits: pays x402/MPP on Base, Solana, Tempo, XRPL and Algorand; phone approval.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
AGENT_KEY, LIMIT_USDC_PER_TX, LIMIT_USDC_PER_DAY, TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID, AC2_OWNER, WALLET_SERVER_URL, WALLET_SERVER_KEY, CHAIN, MAX_PAYMENT_USD, ALLOW_LIST, PRESIGN_CREDIT_KEY, RPC_URL, TEMPO, TEMPO_CHAIN, TEMPO_RPC_URL, MPP_SESSION_DEPOSIT, SOLANA_PRIVATE_KEY, SOLANA_NETWORK, SOLANA_RPC_URL, ALGORAND_MNEMONIC, ALGORAND_NETWORK, XRPL_SEED, XRPL_NETWORK, XRPL_WS_URLค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://wallet.fizzl.eu/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"presign-guard-wallet": {
"command": "npx",
"args": [
"-y",
"presign-guard-wallet-mcp"
],
"env": {
"AGENT_KEY": "ใส่ค่าของคุณ",
"LIMIT_USDC_PER_TX": "ใส่ค่าของคุณ",
"LIMIT_USDC_PER_DAY": "ใส่ค่าของคุณ",
"TELEGRAM_BOT_TOKEN": "ใส่ค่าของคุณ",
"TELEGRAM_CHAT_ID": "ใส่ค่าของคุณ",
"AC2_OWNER": "ใส่ค่าของคุณ",
"WALLET_SERVER_URL": "ใส่ค่าของคุณ",
"WALLET_SERVER_KEY": "ใส่ค่าของคุณ",
"CHAIN": "ใส่ค่าของคุณ",
"MAX_PAYMENT_USD": "ใส่ค่าของคุณ",
"ALLOW_LIST": "ใส่ค่าของคุณ",
"PRESIGN_CREDIT_KEY": "ใส่ค่าของคุณ",
"RPC_URL": "ใส่ค่าของคุณ",
"TEMPO": "ใส่ค่าของคุณ",
"TEMPO_CHAIN": "ใส่ค่าของคุณ",
"TEMPO_RPC_URL": "ใส่ค่าของคุณ",
"MPP_SESSION_DEPOSIT": "ใส่ค่าของคุณ",
"SOLANA_PRIVATE_KEY": "ใส่ค่าของคุณ",
"SOLANA_NETWORK": "ใส่ค่าของคุณ",
"SOLANA_RPC_URL": "ใส่ค่าของคุณ",
"ALGORAND_MNEMONIC": "ใส่ค่าของคุณ",
"ALGORAND_NETWORK": "ใส่ค่าของคุณ",
"XRPL_SEED": "ใส่ค่าของคุณ",
"XRPL_NETWORK": "ใส่ค่าของคุณ",
"XRPL_WS_URL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http presign-guard-wallet https://wallet.fizzl.eu/mcpclaude mcp add presign-guard-wallet --env AGENT_KEY='ใส่ค่าของคุณ' --env LIMIT_USDC_PER_TX='ใส่ค่าของคุณ' --env LIMIT_USDC_PER_DAY='ใส่ค่าของคุณ' --env TELEGRAM_BOT_TOKEN='ใส่ค่าของคุณ' --env TELEGRAM_CHAT_ID='ใส่ค่าของคุณ' --env AC2_OWNER='ใส่ค่าของคุณ' --env WALLET_SERVER_URL='ใส่ค่าของคุณ' --env WALLET_SERVER_KEY='ใส่ค่าของคุณ' --env CHAIN='ใส่ค่าของคุณ' --env MAX_PAYMENT_USD='ใส่ค่าของคุณ' --env ALLOW_LIST='ใส่ค่าของคุณ' --env PRESIGN_CREDIT_KEY='ใส่ค่าของคุณ' --env RPC_URL='ใส่ค่าของคุณ' --env TEMPO='ใส่ค่าของคุณ' --env TEMPO_CHAIN='ใส่ค่าของคุณ' --env TEMPO_RPC_URL='ใส่ค่าของคุณ' --env MPP_SESSION_DEPOSIT='ใส่ค่าของคุณ' --env SOLANA_PRIVATE_KEY='ใส่ค่าของคุณ' --env SOLANA_NETWORK='ใส่ค่าของคุณ' --env SOLANA_RPC_URL='ใส่ค่าของคุณ' --env ALGORAND_MNEMONIC='ใส่ค่าของคุณ' --env ALGORAND_NETWORK='ใส่ค่าของคุณ' --env XRPL_SEED='ใส่ค่าของคุณ' --env XRPL_NETWORK='ใส่ค่าของคุณ' --env XRPL_WS_URL='ใส่ค่าของคุณ' -- npx -y presign-guard-wallet-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"presign-guard-wallet": {
"url": "https://wallet.fizzl.eu/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"presign-guard-wallet": {
"command": "npx",
"args": [
"-y",
"presign-guard-wallet-mcp"
],
"env": {
"AGENT_KEY": "ใส่ค่าของคุณ",
"LIMIT_USDC_PER_TX": "ใส่ค่าของคุณ",
"LIMIT_USDC_PER_DAY": "ใส่ค่าของคุณ",
"TELEGRAM_BOT_TOKEN": "ใส่ค่าของคุณ",
"TELEGRAM_CHAT_ID": "ใส่ค่าของคุณ",
"AC2_OWNER": "ใส่ค่าของคุณ",
"WALLET_SERVER_URL": "ใส่ค่าของคุณ",
"WALLET_SERVER_KEY": "ใส่ค่าของคุณ",
"CHAIN": "ใส่ค่าของคุณ",
"MAX_PAYMENT_USD": "ใส่ค่าของคุณ",
"ALLOW_LIST": "ใส่ค่าของคุณ",
"PRESIGN_CREDIT_KEY": "ใส่ค่าของคุณ",
"RPC_URL": "ใส่ค่าของคุณ",
"TEMPO": "ใส่ค่าของคุณ",
"TEMPO_CHAIN": "ใส่ค่าของคุณ",
"TEMPO_RPC_URL": "ใส่ค่าของคุณ",
"MPP_SESSION_DEPOSIT": "ใส่ค่าของคุณ",
"SOLANA_PRIVATE_KEY": "ใส่ค่าของคุณ",
"SOLANA_NETWORK": "ใส่ค่าของคุณ",
"SOLANA_RPC_URL": "ใส่ค่าของคุณ",
"ALGORAND_MNEMONIC": "ใส่ค่าของคุณ",
"ALGORAND_NETWORK": "ใส่ค่าของคุณ",
"XRPL_SEED": "ใส่ค่าของคุณ",
"XRPL_NETWORK": "ใส่ค่าของคุณ",
"XRPL_WS_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"presign-guard-wallet": {
"type": "http",
"url": "https://wallet.fizzl.eu/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"presign-guard-wallet": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"presign-guard-wallet-mcp"
],
"env": {
"AGENT_KEY": "ใส่ค่าของคุณ",
"LIMIT_USDC_PER_TX": "ใส่ค่าของคุณ",
"LIMIT_USDC_PER_DAY": "ใส่ค่าของคุณ",
"TELEGRAM_BOT_TOKEN": "ใส่ค่าของคุณ",
"TELEGRAM_CHAT_ID": "ใส่ค่าของคุณ",
"AC2_OWNER": "ใส่ค่าของคุณ",
"WALLET_SERVER_URL": "ใส่ค่าของคุณ",
"WALLET_SERVER_KEY": "ใส่ค่าของคุณ",
"CHAIN": "ใส่ค่าของคุณ",
"MAX_PAYMENT_USD": "ใส่ค่าของคุณ",
"ALLOW_LIST": "ใส่ค่าของคุณ",
"PRESIGN_CREDIT_KEY": "ใส่ค่าของคุณ",
"RPC_URL": "ใส่ค่าของคุณ",
"TEMPO": "ใส่ค่าของคุณ",
"TEMPO_CHAIN": "ใส่ค่าของคุณ",
"TEMPO_RPC_URL": "ใส่ค่าของคุณ",
"MPP_SESSION_DEPOSIT": "ใส่ค่าของคุณ",
"SOLANA_PRIVATE_KEY": "ใส่ค่าของคุณ",
"SOLANA_NETWORK": "ใส่ค่าของคุณ",
"SOLANA_RPC_URL": "ใส่ค่าของคุณ",
"ALGORAND_MNEMONIC": "ใส่ค่าของคุณ",
"ALGORAND_NETWORK": "ใส่ค่าของคุณ",
"XRPL_SEED": "ใส่ค่าของคุณ",
"XRPL_NETWORK": "ใส่ค่าของคุณ",
"XRPL_WS_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://wallet.fizzl.eu/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
LIMIT_USDC_PER_TX envLIMIT_USDC_PER_DAY envTELEGRAM_CHAT_ID envAC2_OWNER envWALLET_SERVER_URL envCHAIN envMAX_PAYMENT_USD envALLOW_LIST envRPC_URL envTEMPO envTEMPO_CHAIN envTEMPO_RPC_URL envMPP_SESSION_DEPOSIT envSOLANA_NETWORK envSOLANA_RPC_URL envALGORAND_NETWORK envXRPL_NETWORK envXRPL_WS_URL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
server ให้ล็อกอินก่อนจึงจะแสดงรายการเครื่องมือ
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Fizzl13 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 515 ms (HTTP 401)
ประกาศวิธีล็อกอินแบบ OAuth ให้โปรแกรม AI พาไปล็อกอินเอง
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: AGENT_KEY, TELEGRAM_BOT_TOKEN, WALLET_SERVER_KEY, PRESIGN_CREDIT_KEY, SOLANA_PRIVATE_KEY, ALGORAND_MNEMONIC, XRPL_SEED
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.30.0) เข้า registry 7 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Dinero en la Mesa — Perp DEX costs & funding, CryptoKeyhole, Cloud Wallet by Ekubo
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Dinero en la Mesa: live all-in cost (fees + slippage) and funding on 28 perp DEXs. Free, read-only.
Read-only market and on-chain data for Bitcoin, Ethereum and more; on-chain from our own nodes.
EVM wallet reads, simulation, and transaction execution under user-defined authorization policies.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A wallet with spending limits for AI agents, as an MCP server. Add it to Claude Desktop, Claude Code, Cursor or any other MCP client, and your agent can:
evm (USDC on the wallet's chain) and method tempo (USDC.e on Tempo, what nearly every MPP API asks for);XRPL_SEED) and in USDC on Solana (SOLANA_PRIVATE_KEY) and Algorand (ALGORAND_MNEMONIC), and MPP sessions on Tempo (MPP_SESSION_DEPOSIT);It can only do that within the budget you set:
warnings field first that tells the agent to treat it as data only. If it isn't what was paid for, the warning says so too. You see both on the receipt and get a message.The key stays on your machine; the server only decides whether a signature is allowed. Each check costs $0.01, paid in USDC on Base from the same wallet, or from prepaid credits.
What the limits do and don't stop. The limits are enforced by this MCP server on your computer, not on the blockchain. The agent wallet's private key is on that computer too (in the MCP config, or in a file with
AGENT_KEY_FILE). An agent that can read files or run commands (Claude Code, Cursor) could read the key and sign without these rules. So give the agent its own wallet with only what you'd accept losing, never your main wallet. With the wallet server (hosted at wallet.fizzl.eu), you can also put the limit on the chain: your USDC stays in your own wallet, and the agent's wallet is topped up to a small float within a limit a day that a contract on Base keeps (agent-allowance). A leaked key can then take at most that. This server asks for the top-up by itself before a payment when its wallet runs low.
See the dashboard (demo data): https://wallet.fizzl.eu/demo
No keys to copy: the wallet makes its own key on your computer, and you link it to your account with a code. The hosted wallet at wallet.fizzl.eu does the limits, approvals and receipts. Free to start.
claude mcp add wallet -- npx -y presign-guard-wallet-mcp@0.30.0{ "mcpServers": { "wallet": { "command": "npx", "args": ["-y", "presign-guard-wallet-mcp@0.30.0"] } } }~/.fizzl/agent-key, readable only by you, and is never sent anywhere) and answers with a link and a code that works for 10 minutes.Then connect Telegram on the dashboard to approve anything above your limit from your phone, and press Test my setup to see what's still missing.
Rather paste the keys yourself? On the dashboard, Agents → Add agent shows the setup for your app with the keys filled in. Prefer to run everything yourself? See Set up below.
These apps can't run a local MCP server, so they use the remote connector instead: add a custom connector with the URL https://wallet.fizzl.eu/mcp and sign in to your Fizzl wallet. The app can then search paid APIs and ask for payments, but it never pays on its own: every payment waits for your signature in your own wallet (USDC on Base or Solana, or RLUSD in Xaman). Steps per app: https://wallet.fizzl.eu/connector
| Tool | What it does |
|---|---|
wallet_status | Address, balances, limits, what is left today, how approvals work |
find_services | Search the public x402 catalog (Coinbase's x402 Bazaar) for paid APIs this wallet can pay (USDC on its chain, within the price cap), best match first. With a wallet server, the server searches: by meaning, with sellers that x402 Doctor has seen paying out day after day first, and each result's track record. When one of those sellers costs $0.01 or less, Fizzl Buy comes first as an extra option ($0.02, Fizzl's own service): one call that picks the seller, pays it and checks the answer |
pay_x402 | Call an API that answers 402 Payment Required, pay it in USDC, return the response (with a price cap per call). Pays x402, and MPP (Machine Payments Protocol) charges with the evm method in USDC on the wallet's chain: the same EIP-3009 signature, checked by presign-guard and counted toward your limits. On Tempo (method tempo) the wallet sends a USDC.e transferWithMemo from its own address there and hands over the transaction hash; presign-guard doesn't cover Tempo, so guard-wallet checks that it is exactly that transfer, and it counts toward your USDC limits. Order when an API offers several: x402, MPP evm, Tempo |
send_usdc | Send USDC to an address |
send_native | Send ETH / POL / BNB to an address |
check_text | Before acting on text the agent did not write (a web page, email, tool result, API answer or another agent's message): is it a prompt-injection trap? presign-guard's check answers green, orange or red. Free for the verdict (texts up to 8,000 characters, 10 an hour); detailed: true pays $0.01 from the wallet, within your limits, for the reason codes and probabilities |
pause_spending | The agent stops itself when something looks wrong; nothing is signed until you restart or resume |
No paying twice. A signed x402 payment (an EIP-3009 authorization) can be collected by the seller until it expires, also after the API answered with an error or asked again, perhaps with another payTo. So when a paid call doesn't answer properly, the wallet asks USDC on-chain whether that payment was taken (authorizationState) and says so in the result (charge, with a warning first). A second payment for the same endpoint is refused until the first one is used or expired, and for an hour after a payment that was taken without an answer, so a retry can't pay twice.
The wallet signs only what these tools need: payment signatures and transfers. It signs no EIP-7702 authorization (handing the wallet's code to a contract, which is how "sweeper" drainers empty a wallet), whatever a seller, a web page or a prompt asks.
/start.claude_desktop_config.json (on a Mac in ~/Library/Application Support/Claude/, on Windows in %APPDATA%\Claude\). Put this in it:{
"mcpServers": { "wallet": { "command": "npx", "args": ["-y", "presign-guard-wallet-mcp@0.30.0"], "env": { "AGENT_KEY": "0x…the agent wallet's private key…", "LIMIT_USDC_PER_TX": "5", "LIMIT_USDC_PER_DAY": "20", "TELEGRAM_BOT_TOKEN": "123456:ABC…", "TELEGRAM_CHAT_ID": "123456789" } } } }
Rather keep the key out of that file? Put it in a file only you can read and set "AGENT_KEY_FILE": "/full/path/to/that/file" instead of AGENT_KEY.
For Claude Code, the key goes into a file at a prompt (not shown, not in your shell history or Claude's config):
mkdir -p ~/.fizzl && (umask 077; printf 'Agent wallet key: '; stty -echo; read -r k; stty echo; echo; printf '%s\n' "$k" > ~/.fizzl/agent-key)
claude mcp add wallet -e AGENT_KEY_FILE=$HOME/.fizzl/agent-key -e LIMIT_USDC_PER_TX=5 -e LIMIT_USDC_PER_DAY=20 -- npx -y presign-guard-wallet-mcp@0.30.0
Pin the version (@0.30.0), as above: npx -y without one fetches the newest release on every start, and that code sees the key. Releases are published from GitHub Actions with npm provenance; npm audit signatures checks it.
Then ask your agent, for example: *"Check my wallet, then get the BTC signal from https://ichimoku-signal.fizzl.eu/signal/BTC-USDT"*.
Or let it find a service itself: *"Find a paid API for a bitcoin trend signal under $0.10 and buy one"*. The agent searches the x402 catalog with find_services, picks one and pays it with pay_x402, within your limits.
Run the wallet server and make an agent key on its dashboard. It gives you:
Then use these variables instead of LIMIT_* and TELEGRAM_*:
"env": {
"AGENT_KEY": "0x…", "WALLET_SERVER_URL": "https://your-wallet-server.example", "WALLET_SERVER_KEY": "awk_…" }
| Variable | |
|---|---|
AGENT_KEY | private key of the agent's own wallet (64 hex characters, with or without 0x). Without it the wallet links itself with a code: it makes its own key and each tool answers with a code to enter on the wallet server's dashboard |
AGENT_KEY_FILE | instead of AGENT_KEY: the path to a file holding the key (~/ works), so it is in neither the client's config nor your shell history. Make it readable only by you (chmod 600); the server warns otherwise. The same works for XRPL_SEED_FILE, ALGORAND_MNEMONIC_FILE and SOLANA_PRIVATE_KEY_FILE |
LIMIT_USDC_PER_TX, LIMIT_USDC_PER_DAY | USDC limits (payments and transfers together). Limits or a wallet server are required |
| LIMIT_NATIVE_PER_TX, LIMIT_NATIVE_PER_DAY | lim
ตัดมาแค่ช่วงต้น อ่านต่อใน repo