I2P SAMv3 support
layout: fr
title: "I2P SAMv3 support"
author: jpk68
date: March 7, 2026
amount: 50
milestones:
- name: Research and prototype
funds: 10
done:
status: unfinished
- name: Core SAMv3 implementation in `monerod`
funds: 15
done:
status: unfinished
- name: GUI integration and docs
funds: 10
done:
status: unfinished
- name: Beta testing and review
funds: 15
done:
status: unfinished
payouts:
- date:
amount:
- date:
amount:
- date:
amount:
- date:
amount:
What
Monero's core software currently has very limited support for the I2P network, which is through the use of SOCKS proxies. This has a number of disadvantages in terms of both security and ease of use.
I propose to work on improving and modernizing I2P support in Monero through the following:
- Implementing I2P's SAMv3 protocol in
monerod - Adding functionality to the GUI for configuring I2P connections
- Contributing to and improving upon existing documentation for anonymity networks in Monero
- Attending community/development meetings
- Other tasks mentioned below
The scope of tasks/effort needed is very similar to that which has already been discussed here.
Milestones
Milestone 1: Research and prototype (10 XMR)
- Study SAMv3 docs, evaluate existing protocol implementations
- Decide on ACCEPT vs FORWARD for incoming connections, permanent vs transient destinations
- Deliver a working proof-of-concept SAMv3 session from
monerod, connecting to a test I2P router
Milestone 2: Core SAMv3 implementation in monerod (15 XMR)
- Full SAMv3 integration replacing the SOCKS proxy path
- Support for both Java I2P and i2pd routers
- Handle external router start/stop/restart gracefully
- Sane default tunnel configuration per I2P expert guidance
- Deliver a working PR with SAMv3, functional for CLI usage, with unit tests as per guidelines
Milestone 3: GUI integration and docs (10 XMR)
- Toggle to enable/configure I2P connections in the GUI; indicator for router status (up/down)
- Configuration options exposed in GUI
- Rewritten docs: new install (i2pd + Java I2P), migration from i2p-zero, migration of existing setups
- Verify and update seed node list
Milestone 4: Beta testing and review (15 XMR)
- Announce and recruit beta testers
- Address community feedback from testing
- Pass code review requirements
- Address all PR review comments
- PR has loose approval, and is ready to be merged into
masterbranch
Who
I'm a self-taught programmer who has been interested in Monero and similar projects for quite some time now. I have been active in development discussion/happenings on IRC/Matrix for several months, and have also contributed a number of merged PRs (albeit mostly small ones) to core Monero repos as well as Monero-adjacent community projects. Here are some examples:
- Added I2P support to P2Pool
- Added IPv6 support to the ZMQ interface in
monerod - Contributed documentation fixes and improvements to P2Pool, Monfluo, and monero-lws (1, 2, 3, 4)
Funding
I am requesting a total of 50 XMR for all milestones combined, with the corresponding amount to be paid out upon the completion of each individual milestone.