# Call for new DNS seed nodes, Mainnet and Testnet

**URL:** <https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790>\
**Category:** Development and Technical Discussion\
**Created:** [May 20, 2022, 8:35am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790 "2022-05-20T08:35:17Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![ardocrat](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/ardocrat/32/5164_2.png) [@ardocrat](https://forum.grin.mw/u/ardocrat)\
**Post date:** [May 26, 2026, 3:21pm UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/41 "2026-05-26T15:21:28Z")

</div>

> [@grinmonk](#):
>
> no suitable outbound peer for header sync, considering inbound

I guess you should use build from master branch or docker compose file as described above, new seeds are already here: [p2p: update seed list (#3828) · mimblewimble/grin@db2923a · GitHub](https://github.com/mimblewimble/grin/commit/db2923a147e1e68aa858d91b9f121ca5a3090cec)

---

<div class="post-metadata">

**Author:** ![grinmonk](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/grinmonk/32/5587_2.png) [@grinmonk](https://forum.grin.mw/u/grinmonk)\
**Post date:** [May 26, 2026, 7:39pm UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/42 "2026-05-26T19:39:26Z")

</div>

I am running the latest stable release. After seeing this discussion and post I realized I also needed to update my testnet DNS seed nodes since 5.4.0 did not have those updated. Looking forward to 5.5 @ardocrat 😃

> [@New grin release 5.4.0 - important stability improvements](https://forum.grin.mw/t/new-grin-release-5-4-0-important-stability-improvements/12440/28):
>
> To bypass the issue you need to edit grin-server.toml configuration file, e.g.: seeding\_type = “List” seeds = [“[grincoin.org:3414](http://grincoin.org:3414)”,“main.gri.mw:3414”]

All is working fine now, so both Mainnet and Testnet seed can be added to the list

mainnet.fountainoffairfortune.it  
testnet.fountainoffairfortune.it

Contact is support@fountainoffairfortune.it

---

<div class="post-metadata">

**Author:** ![martin](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@martin](https://forum.grin.mw/u/martin)\
**Post date:** [June 14, 2026, 12:29pm UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/43 "2026-06-14T12:29:37Z")

</div>

New seed nodes for mainnet and testnet!

I’ve published a docker compose file for anyone who wants to run their own:

- Builds mainnet and testnet nodes from source
- Pre-defined configuration (easy to adapt)
- Automatic TLS renewal and reverse proxy via Caddy
- Two lines to edit, one command to run

> **[GitHub - martinthonon/grin-docker](https://github.com/martinthonon/grin-docker)**
>
> Contribute to martinthonon/grin-docker development by creating an account on GitHub.

| Setting | Mainnet | Testnet |
| --- | --- | --- |
| P2P address | `https://mainnet.grin-coffee.com` | `https://testnet.grin-coffee.com` |
| API address | `https://mainnet.grin-coffee.com` | `https://testnet.grin-coffee.com` |
| Foreign API auth | Disabled | Disabled |
| Owner API auth | Enabled | Enabled |

Contact: [grin-coffee@proton.me](mailto:grin-coffee@proton.me)

---

<div class="post-metadata">

**Author:** ![eravsar](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/eravsar/32/7237_2.png) [@eravsar](https://forum.grin.mw/u/eravsar)\
**Post date:** [June 15, 2026, 6:02am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/44 "2026-06-15T06:02:34Z")

</div>

forgot to post here, these are my DNS seed nodes: [main.seed.grin.raubritter.org](http://main.seed.grin.raubritter.org) and [test.seed.grin.raubritter.org](http://test.seed.grin.raubritter.org)

using [this program i made](https://github.com/aeeravsar/grin-seeder) in dynamic mode since i couldn’t get the [GitHub - mimblewimble/seeder: DNS seed server for Grin · GitHub](https://github.com/mimblewimble/seeder) working for various reasons. i don’t know if there are any other program you guys are using.

also mainnet and testnet nodes, [https://main.grin.raubritter.org](https://main.grin.raubritter.org) and [https://test.grin.raubritter.org](https://test.grin.raubritter.org) are available.

contact email would be [er@raubritter.org](mailto:er@raubritter.org), even though it is not set up yet

---

<div class="post-metadata">

**Author:** ![wiesche](https://avatars.discourse-cdn.com/v4/letter/w/e274bd/32.png) [@wiesche](https://forum.grin.mw/u/wiesche)\
**Post date:** [June 15, 2026, 7:23am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/45 "2026-06-15T07:23:13Z")

</div>

Currently, I cannot get a clean handshake.

> [@martin](#):
>
> Setting Mainnet Testnet P2P address `https://mainnet.grin-coffee.com` `https://testnet.grin-coffee.com`

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/grin/original/2X/a/a20909ff37d91dc7fe107cc163726b09ad914c9b.png)  
 ![image](https://canada1.discourse-cdn.com/flex036/uploads/grin/original/2X/a/a5e992502189f60300f1f646ac045e5ff8ddba01.png)

---

<div class="post-metadata">

**Author:** ![martin](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@martin](https://forum.grin.mw/u/martin)\
**Post date:** [June 15, 2026, 8:03am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/46 "2026-06-15T08:03:36Z")

</div>

I just added ipv4 support.  
Could you provide me a link to the seed checker ?  
Thanks

---

<div class="post-metadata">

**Author:** ![wiesche](https://avatars.discourse-cdn.com/v4/letter/w/e274bd/32.png) [@wiesche](https://forum.grin.mw/u/wiesche)\
**Post date:** [June 15, 2026, 8:16am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/47 "2026-06-15T08:16:59Z")

</div>

The seedchecker is part of the Grin node app. I extended it with the following PR. Please note that if you already have nodes running on the same IP where you execute the seedchecker, the handshake may fail.

> <https://github.com/mimblewimble/grin/pull/3862>
>
> This pr improves the seedcheck command a bit.
> It adds support for checking a si…ngle DNS seed with --seed, includes connection/handshake errors in the JSON output.
> 
> Test commands:
> .\\target\\release\\grin.exe seedcheck --testnet --output testnet-seedcheck.json
> .\\target\\release\\grin.exe seedcheck --output mainnet-seedcheck.json
> 
> .\\target\\release\\grin.exe seedcheck --testnet --seed testnet.grin-coffee.com --output testnet-grin-coffee-seedcheck.json
> .\\target\\release\\grin.exe seedcheck --seed mainnet.grin-coffee.com --output mainnet-grin-coffee-seedcheck.json
> 
> fix issue:
> \#3848

---

<div class="post-metadata">

**Author:** ![martin](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@martin](https://forum.grin.mw/u/martin)\
**Post date:** [June 15, 2026, 8:40am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/48 "2026-06-15T08:40:18Z")

</div>

Mainnet:

```auto
[
  {
    "url": "mainnet.grin-coffee.com",
    "dns_resolutions_found": true,
    "success": true,
    "successful_attempts": [
      {
        "ip_addr": "51.79.54.217:3414",
        "handshake_success": true,
        "user_agent": "MW/Grin 5.4.1",
        "capabilities": "HEADER_HIST | TXHASHSET_HIST | PEER_LIST | TX_KERNEL_HASH | PIBD_HIST | PIBD_HIST_1",
        "error": null
      }
    ],
    "unsuccessful_attempts": []
  }
]

```

Testnet:

```auto
[
  {
    "url": "testnet.grin-coffee.com",
    "dns_resolutions_found": true,
    "success": true,
    "successful_attempts": [
      {
        "ip_addr": "51.79.54.217:13414",
        "handshake_success": true,
        "user_agent": "MW/Grin 5.4.1",
        "capabilities": "HEADER_HIST | TXHASHSET_HIST | PEER_LIST | TX_KERNEL_HASH | PIBD_HIST | PIBD_HIST_1",
        "error": null
      }
    ],
    "unsuccessful_attempts": []
  }
]

```

---

<div class="post-metadata">

**Author:** ![wiesche](https://avatars.discourse-cdn.com/v4/letter/w/e274bd/32.png) [@wiesche](https://forum.grin.mw/u/wiesche)\
**Post date:** [June 15, 2026, 9:05am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/49 "2026-06-15T09:05:23Z")

</div>

Ipv4 looks good.  
I will create a pull request to add your dns seed.

Ipv6:

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/grin/original/2X/4/4157f987dd36f83902ad16055b18acffd8d97a8f.png)

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/grin/original/2X/6/642fdfff77e66264ba70b4182d13b1d7b5b3d082.png)

---

<div class="post-metadata">

**Author:** ![martin](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@martin](https://forum.grin.mw/u/martin)\
**Post date:** [June 15, 2026, 9:16am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/50 "2026-06-15T09:16:11Z")

</div>

Thanks!  
Is there any reason Ipv6 would block handshake?

Edit: I did not map Ipv6 in docker compose

---

<div class="post-metadata">

**Author:** ![wiesche](https://avatars.discourse-cdn.com/v4/letter/w/e274bd/32.png) [@wiesche](https://forum.grin.mw/u/wiesche)\
**Post date:** [June 15, 2026, 9:20am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/51 "2026-06-15T09:20:26Z")

</div>

It’s more of a configuration issue (port forwarding, Docker setup, etc.). IPv6 already works with some seeders. You can test it with grin-seedcheck without specifying --seed. In that case, the tool will use the known seeders defined in the source code.

---

<div class="post-metadata">

**Author:** ![ardocrat](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/ardocrat/32/5164_2.png) [@ardocrat](https://forum.grin.mw/u/ardocrat)\
**Post date:** [June 15, 2026, 12:09pm UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/52 "2026-06-15T12:09:54Z")

</div>

You have an issue with p2p at compose file, forwarding is not keeping source IP, so need to change network mode:

> [@ardocrat](#):
>
> `network_mode: host` is necessary to run p2p server at container, otherwise your server will see every connected peer address as internal address of container (172.x.x.x). Ports `3414,13414` will be attached to all interfaces automatically, you can change or put configs at `main, test` dirs accordingly.

---

<div class="post-metadata">

**Author:** ![martin](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@martin](https://forum.grin.mw/u/martin)\
**Post date:** [June 15, 2026, 1:28pm UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/53 "2026-06-15T13:28:50Z")

</div>

I do get the right IP from peers (masked on purpose).

```auto
            {
                "addr": "2*.9*.2**.2*:3414",
                "capabilities": {
                    "bits": 95
                },
                "direction": "Outbound",
                "height": 3888222,
                "total_difficulty": 2354615815180216,
                "user_agent": "MW/Grin 5.4.0",
                "version": 1000
            },
            {
                "addr": "[::ffff:1 **.2**.9*.2**]:3414",
                "capabilities": {
                    "bits": 95
                },
                "direction": "Inbound",
                "height": 3888222,
                "total_difficulty": 2354615815180216,
                "user_agent": "MW/Grin 5.4.0",
                "version": 1000
            },

```

I added the IPv6 compatibility in config file with the host set to `::` but it looks like it still block IPv6 from handshake mine and main-seed.grin.money as well.

```auto
main-seed.grin.money
  [2607:f130:e080:2::13a3:fdf0]:3414 NetworkUnreachable
  [2607:f130:0:13d::e6bb:aae1]:3414 NetworkUnreachable
  [2607:f130:0:140::32a:abaa]:3414 NetworkUnreachable

mainnet.grin-coffee.com (mine)
  [2607:5300:229:17::1]:3414 NetworkUnreachable

```

---

<div class="post-metadata">

**Author:** ![hellogrin](https://avatars.discourse-cdn.com/v4/letter/h/a5b964/32.png) [@hellogrin](https://forum.grin.mw/u/hellogrin)\
**Post date:** [June 16, 2026, 3:41am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/54 "2026-06-16T03:41:50Z")

</div>

Not sure if it’s appropriate to say but being in dnsseed pool, I hope participators should have self-commitment to keep your own node alive/stable in next 4-5 years, the core developers won’t have to remove/update dead nodes too often.

---

<div class="post-metadata">

**Author:** ![wiesche](https://avatars.discourse-cdn.com/v4/letter/w/e274bd/32.png) [@wiesche](https://forum.grin.mw/u/wiesche)\
**Post date:** [June 16, 2026, 5:45am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/55 "2026-06-16T05:45:29Z")

</div>

> [@eravsar](#):
>
> forgot to post here, these are my DNS seed nodes: [main.seed.grin.raubritter.org](http://main.seed.grin.raubritter.org) and [test.seed.grin.raubritter.org](http://test.seed.grin.raubritter.org)

I unfortunately don’t get any response on mainnet. It looks like the DNS name isn’t being resolved.

```auto
[
  {
    "url": "main.seed.grin.raubritter.org",
    "dns_resolutions_found": false,
    "success": false,
    "successful_attempts": [],
    "unsuccessful_attempts": []
  }
]

```

Testnet resolution works. It looks like the seeder returns a list of known testnet peers. Is your own node included in that list as well?

---

<div class="post-metadata">

**Author:** ![wiesche](https://avatars.discourse-cdn.com/v4/letter/w/e274bd/32.png) [@wiesche](https://forum.grin.mw/u/wiesche)\
**Post date:** [June 16, 2026, 5:47am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/56 "2026-06-16T05:47:59Z")

</div>

Your domain looks good now for both mainnet and testnet on IPv4 and IPv6.

---

<div class="post-metadata">

**Author:** ![wiesche](https://avatars.discourse-cdn.com/v4/letter/w/e274bd/32.png) [@wiesche](https://forum.grin.mw/u/wiesche)\
**Post date:** [June 16, 2026, 6:08am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/57 "2026-06-16T06:08:55Z")

</div>

fountainoffairfortune.it works on mainnet, but on testnet the DNS resolves correctly and I get a Connection Refused error.

---

<div class="post-metadata">

**Author:** ![grinmonk](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/grinmonk/32/5587_2.png) [@grinmonk](https://forum.grin.mw/u/grinmonk)\
**Post date:** [June 16, 2026, 7:25am UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/58 "2026-06-16T07:25:41Z")

</div>

I checked. Indeed the node is not running and its data is corrupted, restarting it does not work meaning I have to do a full resync.  
This is the last I could find in my log:

> 3: std::sys::backtrace::\_\_rust\_end\_short\_backtrace  
> 4: \_\_rustc::rust\_begin\_unwind  
> 5: core::panicking::panic\_fmt  
> 6: core::result::unwrap\_failed  
> 7: grin::cmd::server::start\_server\_tui  
> 8: grin::cmd::server::server\_command  
> 9: grin::real\_main
> 
> 10: grin::main  
> 11: std::sys::backtrace::\_\_rust\_begin\_short\_backtrace  
> 12: std::rt::lang\_start::{{closure}}  
> 13: std::rt::lang\_start\_internal  
> 14: main  
> 15:  
> 16: \_\_libc\_start\_main  
> 17: \_start  
> Thread ‘main’ panicked with message:  
> “called `Result::unwrap()` on an `Err` value: Chain(Other(“failed to find head hash”))”

Update: Both main and testnet DNS servers are online again (testnet after a resync), the archive snapshot has been updated.

---

<div class="post-metadata">

**Author:** ![wiesche](https://avatars.discourse-cdn.com/v4/letter/w/e274bd/32.png) [@wiesche](https://forum.grin.mw/u/wiesche)\
**Post date:** [June 16, 2026, 2:37pm UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/59 "2026-06-16T14:37:37Z")

</div>

Thank you for your feedback. Which node version were you running?

---

<div class="post-metadata">

**Author:** ![eravsar](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/eravsar/32/7237_2.png) [@eravsar](https://forum.grin.mw/u/eravsar)\
**Post date:** [June 16, 2026, 3:35pm UTC](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790/60 "2026-06-16T15:35:22Z")

</div>

found issues about my DNS seeder fallbacking to TCP after about 24 records, fixed it by adding a cap. now my DNS seed servers work fine, and they provide 24 records of the online nodes they currently know of, using get\_connected\_peers.

so my DNS seed servers don’t only provide a few hardcoded nodes but up to 24 nodes they see online in Grin P2P network. that means as long as my server is up, it will always provide fresh info without manual updates.

[Previous page](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790.md?page=2)

[Next page](https://forum.grin.mw/t/call-for-new-dns-seed-nodes-mainnet-and-testnet/9790.md?page=4)
