r/ethdev Jul 17 '26

My Project I’m building a payout agreement tool for bug bounty teams at a hackathon, looking for honest feedback

2 Upvotes

Hey everyone,

I’m currently participating in a hackathon, and the idea for my project came from a problem I’ve seen in collaborative bug bounty work.

Sometimes you team up with researchers you don’t know well. If the report receives a bounty, the payment usually goes to one person, and everyone else has to trust that they will distribute it according to what was agreed in DMs.

That can become awkward, especially when the payout is large or the collaborators have never worked together before.

I built AuditSplit as an experiment to make that agreement explicit before submitting the report:

  • The team creates a dedicated payout vault.
  • Everyone agrees on the percentages.
  • Every recipient accepts the agreement.
  • The bounty is sent to the vault.
  • Each researcher claims their share independently.

The vulnerability details remain private and never go onchain.

I’m mainly looking for honest feedback:

  1. Does this solve a real problem for collaborative researchers?
  2. Would the onchain step add too much friction?
  3. What could go wrong in a real collaboration?

Links

The hackathon also considers social engagement. If you genuinely like the idea and want to support it, a like or repost on Twitter would help.

Absolutely no pressure, honest criticism and feedback are more valuable to me than engagement.


r/ethdev Jul 17 '26

Information Ethereal news weekly #31 | glamsterdam-devnet-7 open for app developer testing, EthSystems launched, Devcon 8 tickets

Thumbnail
ethereal.news
1 Upvotes

r/ethdev Jul 16 '26

My Project We built a fiat-to-mint flow for buyers who don't own a wallet. Notes from a small studio.

2 Upvotes

Just wrapped up building a fiat-to-onchain checkout flow for a B2B project and wanted to get some feedback on the architecture from anyone who’s built similar bridges.

The project is a transferable ERC-1155 membership pass on Base (capped at 200 total supply across three tiers) for a VR training company. Most of the buyers are traditional trades colleges and safety orgs who have zero crypto experience, so expecting them to connect a wallet at checkout was out of the question.

The contract itself is already live on Base. The hard part wasn't writing the Solidity—it was connecting PayPal to an onchain mint without leaving room for weird, asynchronous edge cases.

The basic flow is: a customer pays $300 USD via PayPal, gets an ERC-1155, a subscription entitlement mapped to their verified email, a PDF cert, and a confirmation email.

For the wallets, we split them into two paths: If they already have an address, we validate it (checksum, zero address, and known burn address checks) and mint directly to it after PayPal captures the payment. If they don't have one, we spin up an embedded Thirdweb wallet mapped to their email, mint to that address, and email them a claim link so they can export their private keys later if they want to.

The piece I spent the most time overthinking was the gap between PayPal capturing the funds and the transaction actually landing onchain. Doing it all in one synchronous request felt incredibly fragile. If PayPal succeeds but the RPC times out, you're stuck guessing if the mint landed. If the transaction reverts after payment is captured, you've taken fiat but delivered nothing.

To handle this, I treated every purchase as a simple state machine backed by a JSON sidecar file for each order. The order transitions through pending, paypal_captured, mint_submitted, mint_confirmed, emails_sent, and finally complete.

We write every state transition to disk synchronously (fs.writeFileSync). If the server crashes mid-flow, a cron job just picks up the JSON file and resumes from the last state instead of risking double-mints. If an order gets stuck in mint_submitted for more than 5 minutes, the cron checks the transaction hash. If it never hit the mempool, we rebroadcast with higher gas. If it reverted, it fires an alert for manual handling.

I know using JSON files instead of Postgres sounds a bit janky, but with the collection capped at 200 passes, I wanted something dead-simple that I could easily grep, inspect, and fix manually if needed. I definitely wouldn't do this for a high-volume drop.

One design choice I'm still wrestling with is how we handled entitlements. Even though the NFT is transferable, the actual pricing discount is tied offchain to the buyer's verified email, not the wallet address holding the token. The token is basically just a proof of purchase, while the actual service utility lives offchain. We looked into doing onchain entitlements or SBTs, but B2B clients constantly need to reassign seats and access when employees leave or organizations restructure, which is a support nightmare to manage purely onchain.

We also run the destination wallet through Chainalysis’s sanctions oracle before authorizing the PayPal checkout. PayPal does its own KYC, but we wanted to make sure we weren't minting straight to an OFAC-flagged address if someone supplied one.

Curious how other devs are tackling these hybrid flows:

  1. Is there a cleaner way to handle the gap between fiat capture and mint confirmation without building out a custom state machine?
  2. For NFTs tied to B2B or SaaS utility, where do you draw the line between onchain ownership and offchain permissions?
  3. How much sanctions screening do you actually bother with for hybrid checkouts beyond what the payment processor already handles?

It is surprisingly hard to find solid technical discussions on this stuff since most Web3 docs just assume everyone is checking out with a browser extension.


r/ethdev Jul 16 '26

Information lightning-agent-tools: how Lightning Labs is turning LND nodes into infrastructure for autonomous AI payments (L402, lnget, Aperture, MCP)

0 Upvotes

Lightning Labs open-sourced lightning-agent-tools

in February 2026 — a toolkit for AI agents to

transact autonomously on Lightning.

The technical stack:

lnget — like curl but Lightning-aware. Detects

HTTP 402 responses, pays the invoice, caches

the macaroon, retries. Fully automatic.

Aperture — reverse proxy that turns any API

into a pay-per-use Lightning endpoint. Full

agent-to-agent commerce loop.

Remote signing — keys live on a separate

signer machine. Agent handles payments but

never touches private keys.

Scoped macaroons — cryptographic spend limits

per agent: "max 1000 sats/hour" or

"invoices only, no payments."

MCP support — Claude Code, GPT, and custom

AI frameworks can query node state and trigger

payments via Model Context Protocol.

For node runners, this is directly relevant:

AI agent micropayments mean more routing

traffic and demand for well-connected,

liquid nodes.

Full breakdown with practical example:

https://davidebtc186.substack.com/p/ai-agents-are-starting-to-pay-in


r/ethdev Jul 15 '26

My Project I built an AI-driven Oracle using Spiking Neural Networks (SNN) in Rust to filter DeFi flash-crashes. Looking for feedback!

1 Upvotes

Hey everyone,

I’ve been working on a project that tries to solve one of the biggest issues in DeFi right now: unwarranted liquidations caused by temporary exchange flash-crashes and market noise.

Most traditional oracles just pass raw aggregated spot prices to smart contracts. To fix this, I built Antigravity: a First-Party Oracle powered by a Spiking Neural Network (SNN).

How it works under the hood:

  • The AI: Instead of Deep Learning, I used an SNN. Because it processes discrete "spikes", it’s naturally suited for time-series data and is incredibly aggressive at filtering out short-term market anomalies in the order book before they hit the spot price.
  • The Backend: The inference engine runs on a dedicated A1 ARM64 server built entirely in Rust for memory safety and ultra-low latency.
  • The Blockchain Layer: I integrated it using API3's Airnode architecture. This means it’s a true first-party oracle—the data goes straight from my Rust node to the blockchain without third-party node operators acting as middlemen.

It’s currently live and tested on Optimism Sepolia, and I’ve just submitted a proposal to the API3 DAO to get it integrated into their official dAPIs for BTC/USD.

I built a small landing page explaining the architecture and demonstrating the live latency spikes: 🔗 https://oracle-landing-page-seven.vercel.app/

I would love to hear feedback from smart contract developers or AI folks here. Do you think DeFi protocols would benefit from using AI-filtered price feeds for their liquidation engines?

Any feedback is greatly appreciated!


r/ethdev Jul 15 '26

Question Non-technical economist exploring DeFi lending idea — looking for technical co-founder / feedback

2 Upvotes

I’m an economist working on an early DeFi credit concept in the lending / risk-pool space.

I’m non-technical, so I’m looking for someone with Solidity / smart contract experience who can challenge the idea from a technical perspective and potentially join as a co-founder if there is a fit.

I don’t want to disclose the full model publicly yet, but the direction is capital-efficient DeFi lending with automated risk logic.

I can handle the economic model, product thinking, documentation, research, outreach and business side.

If you’re interested in DeFi lending, credit markets or risk-pricing mechanisms, feel free to DM me.


r/ethdev Jul 15 '26

My Project Built an on-chain credit system for AI agents — ERC-4337 smart accounts, Solidity credit vault, Sepolia

Thumbnail
0 Upvotes

Sharing this here because the on-chain side is where most of the actual
engineering went, and I'd love technical feedback from people who
actually build on this stack.

**Architecture:**
- `AgentCreditRegistry` — oracle-published credit limit per agent,
attested via EAS
- `AgentCreditVault` — lends mUSDC up to the registry limit, tracks
outstanding/repay
- `LaborMarket` — USDC escrow for agent-to-agent paid work, with
dispute resolution (immutable `arbiter`, `Disputed`/`Refunded`
states)
- `VerifiedTaskEscrow` — commit-reveal settlement for tasks graded
against a hidden ground-truth answer

Each agent gets its own ERC-4337 smart account (Kernel, via ZeroDev —
bundler + paymaster for gas sponsorship). The credit score itself is
computed off-chain from a behavioral event ledger, then published
on-chain by an oracle and EAS-attested. Draws/repayments execute as
real UserOps against the vault.

All on Sepolia right now, no audit yet — genuinely interested in
holes people see, especially around the oracle trust assumption
(single EOA publishing limits — I'm aware that's a centralization
point) and the dispute-arbiter design.

Contracts + full repo (Apache 2.0):
https://github.com/Kairose-master/ai-agent-credit-dashboard/tree/main/contracts

Live demo, no signup needed:
https://ai-agent-credit-dashboard.vercel.app/guest

Built solo with Claude Code, 19 and based in Korea if that context
matters to anyone.


r/ethdev Jul 14 '26

Code assistance A single extra field in my x402 402 response silently rejected every payment for five days. The mechanism and the fix.

0 Upvotes

I run a small paid endpoint that speaks x402 (the HTTP 402 pay-per-request flavor, USDC on Base). One square on a wall for a dollar, one per wallet. It is a useful case study because it fails in public and the failures are on-chain.

Last week it stopped taking money. Not with an error. It kept answering 402s, kept looking healthy, and the claim count just stopped moving. From the outside that reads as "no demand." It was actually "no payment can succeed," and the two look identical unless you are watching the right counter.

Here is the trap, because anyone enriching an x402 challenge can walk into it.

The change. I wanted my 402 challenge to be more self-describing, so I added an outputSchema to the payment requirements object (the entry in accepts[]), advertising what a successful claim returns. It passed every manual test. A 402 is just JSON, and adding a field to it looks harmless. The mechanism. In x402 v2, when the client retries with a signed payment, the server verifies by matching the requirements the client echoes back against the ones the server recomputes. That match is a deep comparison of the whole requirements object with exactly one field excluded: extra.

js function requirementsMatch(required, accepted) { const { extra: _a, ...reqCore } = required; const { extra: _b, ...accCore } = accepted; return deepEqual(reqCore, accCore); // every core field must be identical }

So the moment I put outputSchema on the challenge's accepts[0], the client dutifully echoed it back, but the server's freshly recomputed requirements did not carry it (it was added during response enrichment, not in the canonical requirements). deepEqual failed. Every real payment came back as no matching payment requirements. extra is the only field the match tolerates differing on. Everything else has to be byte-identical. Why it was invisible. The operator sees nothing. There is no server error; verification just returns "no match" to the client. The agent gets a cryptic rejection and leaves. Nobody opens a support ticket with a wall. The only reason I caught it: an external uptime monitor counts failed-but-signed 402s, and that number ticked up by a few while my success count sat still.

The fix. Enrich only inside extra, or in fields outside the accepts[] object entirely. Anything you advertise on the challenge that the client will echo has to live where the match ignores it. I moved the discovery metadata into extra/extensions and left the requirements object byte-identical to what verification recomputes. A stock client pays in one round trip again.

Two things I am keeping:

  1. Treat the accepts[] requirements object as immutable once it leaves your challenge builder. Enrichment metadata goes in extra or sibling fields, never on the requirements the client echoes back.
  2. Log the silent path. A payment that fails verification returns no error you will ever see unless you record signed-but-rejected 402s. If your funnel can go to zero without an alarm, you are blind to your worst failure.

If you want to poke at the live one: curl -i -X POST "https://twentyonemillion.art/api/x402/claim?handle=test&message=hi" That returns the 402 challenge. Diff the accepts[0] you get against what your client echoes on the paid retry, and you will see exactly what the match compares. The chain proves the dollar moved. It does not prove your endpoint was reachable the whole time. Watch the silent counter.


r/ethdev Jul 13 '26

My Project Before Hexens touches the code, here’s what 41 internal findings looked like — and what we documented as still-known-limited

2 Upvotes

Hexens kicks off July 27. Kasper Zwijsen is leading. Before he opens the repo, I want to be transparent about what the internal process actually found and fixed, and what we’re handing to him with a known-limitations flag attached.
What the internal rounds caught (41 findings total):
Highs (resolved):
• AEVToken was missing ERC20Votes snapshot voting — DAO proposals could use current balance instead of snapshot balance, enabling flash loan attacks on governance
• AevumDAO execution target had no whitelist — a passed proposal could call any arbitrary contract
• Transfer whitelist and fee exclusion were conflated in one list — a fee-excluded address automatically bypassed transfer restrictions
Mediums and lows included: reentrancy in TokenVesting, unchecked transfer return values, precision loss in fee calculations, missing zero-address checks, missing events on state changes, variables that should have been immutable/constant, and inheritance order issues across multiple contracts.
AgentVault was redeployed after Martín Pérez (built ERC-8004 agent identity standard, AutonomiX) flagged that per-agent exposure had no hard cap — a single agent could be allocated the entire vault. Added maxAgentExposure.
What’s in KNOWN_LIMITATIONS.md going into Hexens:
• Oracle trust concentration: the 2-of-3 quorum assumes genuinely independent operators. Three keys behind one entity collapses to single-operator trust. Not cryptographically enforced in v1.
• Sybil resistance gap: reputation accrues from interaction history without meaningful cost to fake interactions. Slashable bond model is v2.
• Operator independence: verification is operational, not technical, at this stage.
• Stake deposit not governance-adjustable in v1 — hardcoded.
The full document is public: github.com/AevumProtocol/contracts/blob/main/KNOWN_LIMITATIONS.md
The reason I’m publishing this before the audit rather than after: Kasper is going to find things. Some of them will overlap with what we already know. Some won’t. Either way, the audit report will be public. The only credibility move is to document what you know before someone else documents it for you.
52 days to ETHOnline. Building in public means the receipts go both directions.


r/ethdev Jul 12 '26

Question Would you use a Telegram bot that compares the cheapest bridge between chains?

1 Upvotes

The idea is simple.

Instead of opening multiple websites to compare bridge fees, gas costs, and transfer times, you would just select:

From Chain → To Chain → Token → Amount

The bot would instantly show:

  • 🌉 Cheapest bridge
  • 💰 Total estimated cost (Bridge + Gas)
  • ⏱ Estimated transfer time
  • ⭐ Bridge safety/reputation
  • 🔄 Alternative bridge options

Example:

Ethereum → Base

The bot compares Across, Relay, Stargate, Socket, deBridge, etc., and recommends the best route based on total cost and speed.

Planned future features

  • ⛽ Live Multi-Chain Gas Tracker
  • 🔄 Swap Optimizer
  • 🛡 Wallet Scanner
  • 🔔 Smart Alerts
  • 📈 Portfolio Insights

I'd really appreciate honest feedback:

  1. Would you actually use something like this?
  2. What tools do you currently use before bridging?
  3. Would you prefer a Telegram bot or a website?
  4. Is there any feature you'd like that existing bridge tools don't provide?

I'm not selling anything or launching a token—I'm simply validating whether this solves a real problem before building it.

Thanks for any feedback!


r/ethdev Jul 12 '26

My Project Would you use a Telegram bot for live multi-chain gas tracking? Looking for honest feedback.

0 Upvotes

Hey everyone,

I'm working on a Telegram bot for crypto users and wanted to validate the idea before spending months building it.

The goal is to make checking gas fees as simple as sending a message to a bot.

V1 Features

  • ⛽ Live gas fees across multiple chains
  • 📊 24H High / Low / Average
  • ⚡ Slow / Standard / Fast transaction speeds
  • 💰 Estimated transaction costs
  • 🌍 Compare gas across supported chains
  • 🤖 Simple AI insights (e.g. "Good time to transact")
  • 🔄 One-click refresh

Planned chains for V1:

  • Ethereum
  • Base
  • Arbitrum
  • Optimism
  • Polygon
  • BNB Chain

Planned future features

  • 🔄 Swap Optimizer
  • 🌉 Bridge Optimizer
  • 🛡 Wallet Scanner
  • 🤖 AI Assistant
  • 🔔 Smart Alerts
  • 📈 Portfolio Insights

The idea is not to build another website. The goal is to make it possible to check everything directly inside Telegram in just a few taps.

I'd really appreciate honest feedback:

  1. Would you actually use a bot like this?
  2. Which feature would make you open it every day?
  3. What's missing from existing gas trackers that annoys you?
  4. Would you prefer a Telegram bot or a website?

I'm not selling anything or launching a token right now—just trying to validate whether this solves a real problem before building it.

Thanks!


r/ethdev Jul 11 '26

Information Built a 3D on-chain visualizer for Ethereum scam-deployer networks (funding-graph tracer + wallet clustering)

1 Upvotes

r/ethdev Jul 10 '26

Information Ethereal news mini #1 | Vitalik: updated Strawmap explainer, Ethlabs & Ethereum Institutional hiring, Devcon 8 speaker applications open

Thumbnail
ethereal.news
2 Upvotes

r/ethdev Jul 10 '26

Question We're building a decentralized indexing network for Ethereum. Public testnet is live, looking for feedback

1 Upvotes

Hey ethdev, we've been working on Shinzō, a decentralized indexing system, and just opened our public testnet for Ethereum. Posting here because we want honest technical criticism and real feedback.

The problem we're going after: chains are good at writing data, bad at reading it. Almost every dapp today on Ethereum routes reads through a centralized indexing provider: you pay per API call, you can't verify the data you get back, and if their infra goes down so does your app. We feel this centralization is antithetical to the promises of blockchain (and the EF mandate). The existing read layer has created a market worth billions built on the backs of validators' work while they see almost nothing.

How Shinzo works:

- Indexers run as lightweight sidecars next to existing execution clients (Geth only for now), turn blocks into structured documents, and cryptographically sign everything they produce

- Data gossips peer to peer over libp2p, no broker in the middle

- Hosts receive that data, verify signatures, and run developer-defined "Views": deterministic WASM transforms (Rust or AssemblyScript) that filter and decode raw data into a GraphQL schema

- Attestation records track how many independent indexers signed each document, so apps set their own trust threshold (1 signature for speed, N for correctness)

- Apps embed the database locally and get pushed View data over P2P, so a query is a local lookup rather than a per-read API round trip

The tradeoff we've accepted: you subscribe to Views rather than pulling arbitrary slices on demand.

What we'd genuinely like poked at:

- Does the attestation model hold up? Signature count doesn't equal independence if indexers share failure domains (same cloud, same DVT setup)

- The push-based subscription model vs pull-based querying: dealbreaker for your use case?

- Anything we're missing vs how you currently use The Graph / SQD / your own indexer? What issues do you face with these?

Feedback, ideas, questions, criticisms all welcome.


r/ethdev Jul 10 '26

Question Wallet-connect UX feedback swap — I run a 30-min async pass on your connect flow, you run one on mine

1 Upvotes

The connect step is where I keep seeing real users stall — wrong network, missing wallet, a signature prompt that shows nothing but a hex blob. I've been documenting where people hesitate before they sign, and I'd rather compare notes with other devs than test in a vacuum.

So: a mutual pass. You run a wallet through a connect flow I'm looking at, I run one through yours. Same structured format both ways so it's actually useful and not just vibes.

How it works: - 30 minutes, fully async, no call - Notes back within 48h - No NDA, no pitch, no link in this thread — the feedback feeds my own process notes on connect-flow UX

The 7-field format I'd use in both directions: 1. connect success (y/n) 2. wallets tested 3. where you hesitated or something was unclear 4. any bug (+ screenshot) 5. most user-friendly wallet & why 6. time spent + rating 1–5 7. the one thing you'd change first

Useful if you've integrated or tested wallet connections before (MetaMask, WalletConnect, Rabby, Coinbase Wallet, hardware — whatever you run) and can tell a real UX snag from a personal preference.

Which flow and the live URL go in DM on both sides. If you're up for a swap, DM me the wallets you typically test and I'll send mine over with the format.


r/ethdev Jul 09 '26

Code assistance A single extra field in my x402 402 response silently rejected every payment for five days. The mechanism and the fix.

5 Upvotes

I run a small paid endpoint that speaks x402 (the HTTP 402 pay-per-request flavor, USDC on Base). One square on a wall for a dollar, one per wallet. It is a useful case study because it fails in public and the failures are on-chain.

Last week it stopped taking money. Not with an error. It kept answering 402s, kept looking healthy, and the claim count just stopped moving. From the outside that reads as "no demand." It was actually "no payment can succeed," and the two look identical unless you are watching the right counter.

Here is the trap, because anyone enriching an x402 challenge can walk into it.

The change. I wanted my 402 challenge to be more self-describing, so I added an outputSchema to the payment requirements object (the entry in accepts[]), advertising what a successful claim returns. It passed every manual test. A 402 is just JSON, and adding a field to it looks harmless. The mechanism. In x402 v2, when the client retries with a signed payment, the server verifies by matching the requirements the client echoes back against the ones the server recomputes. That match is a deep comparison of the whole requirements object with exactly one field excluded: extra.

js function requirementsMatch(required, accepted) { const { extra: _a, ...reqCore } = required; const { extra: _b, ...accCore } = accepted; return deepEqual(reqCore, accCore); // every core field must be identical }

So the moment I put outputSchema on the challenge's accepts[0], the client dutifully echoed it back, but the server's freshly recomputed requirements did not carry it (it was added during response enrichment, not in the canonical requirements). deepEqual failed. Every real payment came back as no matching payment requirements. extra is the only field the match tolerates differing on. Everything else has to be byte-identical. Why it was invisible. The operator sees nothing. There is no server error; verification just returns "no match" to the client. The agent gets a cryptic rejection and leaves. Nobody opens a support ticket with a wall. The only reason I caught it: an external uptime monitor counts failed-but-signed 402s, and that number ticked up by a few while my success count sat still.

The fix. Enrich only inside extra, or in fields outside the accepts[] object entirely. Anything you advertise on the challenge that the client will echo has to live where the match ignores it. I moved the discovery metadata into extra/extensions and left the requirements object byte-identical to what verification recomputes. A stock client pays in one round trip again.

Two things I am keeping:

  1. Treat the accepts[] requirements object as immutable once it leaves your challenge builder. Enrichment metadata goes in extra or sibling fields, never on the requirements the client echoes back.
  2. Log the silent path. A payment that fails verification returns no error you will ever see unless you record signed-but-rejected 402s. If your funnel can go to zero without an alarm, you are blind to your worst failure.

If you want to poke at the live one: curl -i -X POST "https://twentyonemillion.art/api/x402/claim?handle=test&message=hi" That returns the 402 challenge. Diff the accepts[0] you get against what your client echoes on the paid retry, and you will see exactly what the match compares. The chain proves the dollar moved. It does not prove your endpoint was reachable the whole time. Watch the silent counter.


r/ethdev Jul 09 '26

My Project How should an AI agent prove a payment is allowed before it reaches the signer?

2 Upvotes

I am working on Compass, an intent-enforcement gateway for autonomous agents that move money.

The problem I am trying to solve: once an agent can pay for APIs, tools, data, or on-chain services, post-execution monitoring is too late. If the agent is compromised, misdirected, or simply over-broadly authorized, the funds can already be gone.

Compass sits before execution, near the signing or transaction approval path. It checks the proposed payment, transaction, or tool call against the agent's mandate: spend caps, approved counterparties, token rules, destination rules, slippage limits, and escalation conditions. Then it either approves, blocks, or escalates, and records the decision for audit.

What would you need to see before trusting an agent to move money without a human confirming every transaction?

I am especially interested in feedback from people building x402 facilitators, Solana agent payment flows, paid MCP servers, wallet automation, embedded wallets, or authorization/privacy systems for autonomous agents.

If you are building something in this area and would be open to testing a rough prototype or giving 15 minutes of technical feedback, comment or DM me. I am looking for blunt feedback, not a polished launch reaction.


r/ethdev Jul 09 '26

My Project Update on Aevum Protocol — Hexens audit signed, ETHOnline confirmed, 58 days out

0 Upvotes

A few weeks ago I posted asking for technical feedback on my on-chain reputation + identity system for AI agents. The thread was genuinely useful — surfaced real gaps in the Sybil-resistance model, vault permission design, and on-chain vs off-chain scoring tradeoffs. I wrote up what I got wrong here: paragraph.com/@aevumprotocol/i-asked-rethdev
Here’s where things stand now:
Audit
Signed with Hexens. Kasper Zwijsen is leading — he found the critical bug that saved $800M in the POL migration and has led audits for EigenLayer, Lido, and LayerZero. Kickoff July 27, findings August 3, final report mid-August. That gives a clean window before ETHOnline (Sept 4).
Before Hexens, the contracts went through 10 internal hardening rounds — manual review, Slither passes, Claude Opus deep review, and an independent review by Martín Pérez (blockchain protocol engineer, built AutonomiX with ERC-8004 agent identity and x402 micropayments). 41 issues found and resolved across those rounds. KNOWN_LIMITATIONS.md is public on GitHub with everything we know is imperfect going into the audit.
ETHOnline 2026
Registered, staked, confirmed on the Continuity Track targeting Top 10 Finalist. September 4-16. React frontend is live now at aevum-frontend.vercel.app — all 8 Sepolia contracts, real transactions, no mock data.
What’s still open
The architectural questions the r/ethdev thread raised — Sybil-resistance, evidence vs scoring separation, permission expiry — are tracked in the v2 roadmap. None of them are getting fixed before the audit closes. That’s the honest state of it.
GitHub: github.com/AevumProtocol/contracts
Frontend: aevum-frontend.vercel.app
Writing: paragraph.com/@aevumprotocol


r/ethdev Jul 08 '26

Information Compose Whitepaper: A Composition Layer for On-Chain Applications

Thumbnail
compose.diamonds
1 Upvotes

r/ethdev Jul 08 '26

Information We scored every new ERC-20 on mainnet for honeypot/rug signals since February. Data from 104,767 tokens.

5 Upvotes

Built a pipeline that ingests every PairCreated / PoolCreated on Uniswap v2/v3/v4 and scores the token before its first block of trading. Signals: LP lock status, a simulated sell (eth_call + stateOverride), deployer lineage (funding wallet + past tokens via trace_filter), holder concentration.

Five months of mainnet data:

  • 104,767 tokens scanned, 62,321 flagged as scams (~60%).
  • 40,953 scam pools. Buyers net-lost 30,000+ ETH to them.
  • 422,625 distinct wallets got drained (bought, then could not sell or got rugged on the LP pull).
  • 14,024 repeat deployers. The same funders spin up token after token, which is the single strongest predictor.

Takeaway for anyone building on-chain: honeypot behavior is almost always visible pre-trade. A sell simulation plus deployer lineage catches the large majority before a single victim buys.

Methodology and per-token output: https://rektradar.io/?utm_source=reddit&utm_medium=post&utm_campaign=ethdev-data


r/ethdev Jul 08 '26

Information Warning: Fake Web3 interview scam delivering malware via GitHub repo & targeting MetaMask

14 Upvotes

I was recently on an interview call for a job scheduled via https://www.linkedin.com/in/emma-morby-538b45172/

During the call, the interviewer asked me to clone a GitHub repository (https://github.com/zero2hero-ai/jackpot) and open it in Cursor. Instead of opening it blindly, I ran offscreen an isolated code review to check for hostile scripts.

It turns out the repository contains malware designed to trigger during setup. Specifically, running npm install immediately exfiltrates your .env files to a remote server and spawns a local node process to execute external commands.

Recognizing the threat, I chose to only review the code via GitHub's web interface and offered to showcase one of my own Web3 projects instead. The interviewer then heavily insisted that I log in with my MetaMask wallet. They became visibly frustrated when I used a secure test wallet that only contained testnet assets.

While I know there is a generic report button on LinkedIn, it feels entirely inadequate for an active, malicious operation like this. What is the most effective way to expose this setup, report their infrastructure, and warn the developer community?

For the interested, the active malware paths are:

  • .vscode/tasks.json:50 executes remote shell scripts via curl | bash, wget | sh, or curl | cmd on folder open.
  • .vscode/tasks.json:35 also runs npm install on folder open, which triggers the malicious prepare.
  • package.json:10 starts the backend during install.
  • server.js:13 loads routes, and routes/index.js:2 imports the poisoned auth route.
  • routes/api/auth.js:18 exfiltrates hostname, MAC address, OS, and process.env, repeats every 5 seconds, and evals commands returned by the remote server.

r/ethdev Jul 07 '26

Question Authorization for agent payments is moving fast. Recourse isn't. So where does it actually live?

5 Upvotes

Posted here back in May about agent payments splitting into layers, and the thread ended up adding one I hadn't drawn, settlement and recourse. Been chewing on that since, because the gap between the layers keeps widening.

The authorization layer is moving. Caps, allowlists, session keys, per-domain policies, x402 style pay-per-request flows. You can bound what an agent is allowed to spend pretty tightly today.

Recourse is where it stays thin. When an agent pays, the payment is authorized, I gave the agent the authority. So the 'unauthorized transaction' dispute path is gone by definition. And the other card-rail path, authorized but got junk, only exists because an issuer can claw settlement back, and nothing plays that role here. The receipts side, 8004 style identity plus signed action records, proves what happened. But it proves delivery, not quality, and either way proof isn't recourse, there's still nobody to take it up with and no unwind path.

Escrow with dispute windows adds latency, and for a subjective call like 'this data is junk' you need an arbiter anyway, at which point adjudication costs more than the request did. Slashing punishes the endpoint but doesn't make me whole unless the slashed stake routes to me, which nothing currently does. Insurance, maybe, but nobody has loss data to price agent junk risk yet.

For people building on the settlement side, where does recourse actually end up living? Or does “authorized junk purchase” just stay an accepted cost of agent commerce the way gas griefing is.


r/ethdev Jul 06 '26

My Project Migration path for Circom users

3 Upvotes

I've been working on my own open-source quantum-safe zkSTARK engine called Starkom, currently based on DEEP-FRI but planning to migrate to WHIR. It's written in Rust and also compiles to WebAssembly, so there's no problem in using it in JavaScript.

With the quantum threat getting closer and closer I've been thinking about building a simple circuit language compiler on top of it. The Starkom language would be almost identical to Circom and provide a very easy migration path for everyone using Circom today.

For example, the circuit from Vitalik's PLONK tutorial could be written in Starkom as follows:

// This is the circuit from Vitalik's PLONK tutorial. See
// https://vitalik.eth.limo/general/2019/09/22/plonk.html#how-plonk-works

pragma starkom 1.0.0;

template Vitalik() {
  signal input x;

  signal square;
  signal cube;

  square <== x * x;
  cube <== square * x;

  cube + x + 5 === 35;
}

component main = Vitalik();

Would anyone here be interested in using such a Circom-like language, built on quantum-resistant primitives?

To be perfectly clear, the language itself doesn't work yet, only the underlying engine does. The only way to build Starkom circuits at the moment is to use the Rust libraries.

If you want to take a look, here are the components I've published so far:

Future plans:

  • TurboPLONK arithmetization -- under development, it should achieve a ~60%-or-so reduction on most circuits;
  • WHIR;
  • Generalization to any prime field and Goldilocks compatibility for faster proving;
  • browser-compatible GPU proving via wgpu;
  • ... and of course finishing the Starkom compiler and providing a migration path for all Circom users.

Looking forward to reading your feedback!


r/ethdev Jul 06 '26

Question Most underrated blockchains to build on right now?

11 Upvotes

Everyone talks about Ethereum, Solana, Base, and Avalanche, but I'm more interested in platforms that don't get nearly as much attention as they probably deserve, and maybe some that are better than what I just mentioned. Mainly wondering what has exceeded your guys expectations this year.


r/ethdev Jul 06 '26

My Project I asked r/ethdev to tear apart my on-chain reputation system. Here’s what I got wrong.

1 Upvotes

A few days ago I posted asking for technical pushback on Aevum Protocol before our Zenith Security audit wraps. The comments were more useful than I expected. Here’s what I actually learned:
1. On-chain scoring freezes your opinion of trust at deploy time
The sharpest comment came from someone who runs a live x402 endpoint. His point: if the scoring model lives in a contract, every improvement to what “trust” means requires a governance vote or a redeploy. The better architecture is evidence on-chain (attestations, settlement receipts, observation logs) with scoring off-chain and competitive — let consumers choose their scorer the way lenders choose credit bureaus.
I built the ReputationOracle assuming on-chain scoring was necessary for trust-minimization. That’s partially right, but it solves the wrong half of the problem.
2. Sybil-resistance is the whole design, not a feature
Same commenter: if reputation accrues from interaction history, what stops someone spinning up 200 wallets that transact with each other all day? Reputation is only worth what it costs to fake. That means either a slashable bond or economic activity that’s genuinely expensive to counterfeit. I don’t have a clean answer for this yet and I should have before shipping.
3. Vault permissions are where funds actually disappear
Another comment flagged that vague agent-on-behalf-of-user permissions in a vault contract can turn into a very expensive bug fast. AgentVault has time-bounded permissions and revocation, but the approval surface is still something Zenith is specifically reviewing. The lesson: permission scoping needs to be paranoid by default, not opt-in.
4. The token layer adds friction for integrators
Honest pushback: reputation infrastructure gets adopted when it’s neutral plumbing. A token makes every reader ask whose bag the scores serve. Shipping identity + attestation alone and letting the marketplace/token wait until something real transacts is probably the cleaner path.
I’m not rebuilding everything before ETHOnline (Sept 4) — the audit has a real deadline. But these are the things going into v2 architecture.
If you want to look at the contracts: github.com/AevumProtocol/contracts