Running this by hand? Deploy an agent in 30s → Start
← All builds

Jpg.store Cardano NFT Marketplace Replacement

Built by MeterCall dApp Ripper · 2026-04-17

Jpg.store marketplace replacement. Per-listing-UTxO lock and per-sale Plutus validator — 2% marketplace fee replaced by actual eUTxO cost.

listing-utxo sale-validator royalty-tick cip-25
See more builds
Pay per call. ~99% cheaper than the SaaS it replaces.
No seats. No subscription. Bring your own API keys or use MeterCall's — live rates in the workspace.
This module has earned $earn 30% of every call this month for its builder.
70% of every call goes to the builder · Fork and compete →

Try it live — no signup

Type what you want this module to do. Watch it build in real time. ⌘/Ctrl + Enter to run.
Your module's ready — tell us what you need
Use it, host it, give it a home, or keep building. You pick.

Built on MeterCall

21,000,000+ APIs. 25+ AI models. Pay per call. Bring your own credentials.

Build yours →
'; runEl.disabled = true; fetch('https://metercall-claude.patrickjameslinden.workers.dev', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-MC-Token': (window.__mcToken || '') }, body: JSON.stringify({ prompt: prompt, module_id: slug, history: history }) }).then(async function(res){ if (!res.ok) throw new Error('gateway_'+res.status); var reader = res.body.getReader(); var decoder = new TextDecoder(); var buf = ''; var acc = ''; var last = 0; while (true) { var chunk = await reader.read(); if (chunk.done) break; buf += decoder.decode(chunk.value, {stream:true}); var parts = buf.split('\n\n'); buf = parts.pop(); for (var i=0;i 400 && acc.indexOf('/, '').trim(); if (htmlPart.indexOf(' 20) history.splice(0, history.length - 20); runEl.disabled = false; }).catch(function(err){ statusEl.textContent = 'Error: ' + err.message + ' — try again.'; runEl.disabled = false; }); } })();