Skip to content
https://merkle.io

Infrastructure

· 9 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
87
GRADE
B
FIX
0
REVIEW
3
PASS
5
INFO
1
Probed from Madrid, Spain
301 Moved Permanently
Checks
9
5 PASS 3 REVIEW
B
Redirect Chain
2 redirect(s), 385 ms total
REVIEW
2 redirect(s), 385 ms total
Warning::
2 redirects before reaching final URL
Each redirect adds latency. Try to minimize the chain to 1 hop.
Info::
WWW normalization redirect
Info::
Cross-domain redirect detected

https://merkle.io

71 ms · HTTP/1.1

301

https://www.merkle.io/

177 ms · HTTP/1.1

301

https://blinklabs.xyz/

137 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://merkle.io30171 msHTTP/1.1cloudflare
2https://www.merkle.io/301177 msHTTP/1.1cloudflare
3https://blinklabs.xyz/200137 msHTTP/1.1Netlify

See the visual redirect chain in the HTTP Probe tab →

Each redirect adds latency. Try to minimize the chain to 1 hop.

Why this matters

Redirect chain — each hop adds latency; combine into one redirect where possible.

Source: Google Search Central / web.dev

C
Crawlability
Action
robots.txt present, sitemap with 0 URLs
REVIEW
robots.txt present, sitemap with 0 URLs
Info::
robots.txt is present
Got: 10240 bytes
Info::
sitemap.xml is present
Warning::
sitemap.xml contains invalid XML
Search engines may not be able to parse the sitemap. Fix XML validation errors.
Warning::
sitemap.xml is empty — no URLs found
An empty sitemap provides no value. Add <url> entries for your pages.
Info::
robots.txt does not reference a sitemap
Add a 'Sitemap:' directive to robots.txt so search engines can discover your sitemap.

Search engines may not be able to parse the sitemap. Fix XML validation errors.

Why this matters

An unparseable sitemap is silently ignored by Google — the URLs it advertises are never queued for crawl.

Learn more

Google's sitemap parser is strict about XML validity. A single unescaped `&` or unclosed tag invalidates the whole file. Run your sitemap through a validator (Search Console's Sitemaps report flags it) and fix the offending entry. Most generators escape correctly; mistakes usually come from manually-written entries.

Source: sitemaps.org / Google Search Central

An empty sitemap provides no value. Add <url> entries for your pages.

Why this matters

An empty sitemap signals 'no content to index' to Google — actively harmful versus having no sitemap at all.

Learn more

Google compares URLs in the sitemap against URLs it has crawled. An empty sitemap on a site with thousands of pages signals abandonment. Either populate it correctly (most CMSes auto-generate) or delete the file and let Google crawl normally.

Source: Google Search Central / sitemaps.org

Add a 'Sitemap:' directive to robots.txt so search engines can discover your sitemap.

Why this matters

robots.txt omits Sitemap: directive — crawlers must fetch /sitemap.xml by convention; reliable but missing the explicit hint.

Source: sitemaps.org

robots.txt 200 OK
Size 10240 B Sitemaps referenced 0 User-agents Blocking No — crawling allowed
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/blink-labs-logo.svg"/><link rel="stylesheet" href="/_next/static/css/f1478ddd84018836.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-291f70ff2f9f6579.js"/><script src="/_next/static/chunks/4bd1b696-b537b0489da1603b.js" async=""></script><script src="/_next/static/chunks/1517-9a766a5f1e232c4e.js" async=""></script><script src="/_next/static/chunks/main-app-99e3f7a94b31be24.js" async=""></script><script src="/_next/static/chunks/8173-0aecdb312eb56a26.js" async=""></script><script src="/_next/static/chunks/7970-98b4af5fe994f2c1.js" async=""></script><script src="/_next/static/chunks/6785-39a889fe641e0db9.js" async=""></script><script src="/_next/static/chunks/3232-c4f926ed9a8e2fa6.js" async=""></script><script src="/_next/static/chunks/app/layout-8ece069f57cf698f.js" async=""></script><script src="/_next/static/chunks/2022-467803350af81186.js" async=""></script><script src="/_next/static/chunks/4473-0afa939c3569c948.js" async=""></script><script src="/_next/static/chunks/app/page-8ff8488e246060f3.js" async=""></script><link rel="preload" href="https://plausible.io/js/script.js" as="script"/><title>blink - MEV Protection for Wallets and RPC Providers</title><meta name="description" content="The MEV-protected private mempool for Ethereum, Base, BSC and Solana. Protect your transactions while harvesting benign MEV with Blink&#x27;s private mempool."/><meta name="author" content="Blink"/><meta name="keywords" content="MEV protection, private mempool, Ethereum, Base, BSC, Solana, blockchain security, front-running protection, sandwich attack protection, RPC providers, crypto wallets"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://blink.io"/><meta property="og:title" content="Blink - MEV Protection for Wallets and RPC Providers"/><meta property="og:description" content="The MEV-protected private mempool for Ethereum, Base, BSC and Solana. Protect your transactions while harvesting benign MEV with Blink&#x27;s private mempool."/><meta property="og:url" content="https://blink.io"/><meta property="og:site_name" content="Blink"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://blink.io/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Blink - MEV Protection"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@blinkio"/><meta name="twitter:title" content="Blink - MEV Protection for Wallets and RPC Providers"/><meta name="twitter:description" content="The MEV-protected private mempool for Ethereum, Base, BSC and Solana. Protect your transactions while harvesting benign MEV with Blink&#x27;s private mempool."/><meta name="twitter:image" content="https://blink.io/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="32x32"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="font-sans"><nav class="absolute z-50 w-full pb-[24px] pt-[8px] section-padding bg-transparent"><div class="flex items-center justify-between"><a href="/"><div data-svg-wrapper="true" data-layer="Blink Logo" class="BlinkLogo undefined" style="position:relative"><img alt="Blink" width="80" height="15" decoding="async" data-nimg="1" style="color:transparent" src="/blink-labs-logo.svg"/></div></a><div class="hidden md:flex items-center gap-8"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center gap-8" dir="ltr"><li><button id="radix-:Rcjb:-trigger-radix-:Rbcjb:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rcjb:-content-radix-:Rbcjb:" class="group inline-flex items-center gap-1 bg-transparent text-neutral-500 hover:text-black hover:font-medium data-[state=open]:text-black data-[state=open]:font-medium transition-colors duration-200 tracking-wide hover:tracking-normal data-[state=open]:tracking-normal" data-radix-collection-item="">Products<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" class="relative top-[1px] transition duration-200 group-data-[state=open]:rotate-180"><path d="M6.66666 8.3335L9.99999 11.6668L13.3333 8.3335" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></li><li><button id="radix-:Rcjb:-trigger-radix-:Rjcjb:" data-state="closed" aria-expanded="false" aria-controls="radix-:Rcjb:-content-radix-:Rjcjb:" class="group inline-flex items-center gap-1 bg-transparent text-neutral-500 hover:text-black hover:font-medium data-[state=open]:text-black data-[state=open]:font-medium transition-colors duration-200 tracking-wide hover:tracking-normal data-[state=open]:tracking-normal" data-radix-collection-item="">Solutions<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" class="relative top-[1px] transition duration-200 group-data-[state=open]:rotate-180"><path d="M6.66666 8.3335L9.99999 11.6668L13.3333 8.3335" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></li><li><a class="text-neutral-500 hover:text-black transition-colors duration-200 hover:font-medium tracking-wide hover:tracking-normal" href="/about" data-radix-collection-item="">About</a></li><li><a class="text-neutral-500 hover:text-black transition-colors duration-200 hover:font-medium tracking-wide hover:tracking-normal" href="/support" data-radix-collection-item="">Support</a></li><li><a class="text-neutral-500 hover:text-black transition-colors duration-200 hover:font-medium tracking-wide hover:tracking-normal" href="https://portal.blinklabs.xyz/sign-in" data-radix-collection-item="">Log In</a></li></ul></div><div class="ViewportPosition"></div></nav><a class="group inline-flex items-center justify-center font-medium bg-black text-white hover:bg-neutral-500 h-[40px] px-[18px] rounded-md min-w-fit" href="https://portal.blinklabs.xyz/sign-up"><span class="text-[16px] leading-[20px] tracking-[-0.02em]  font-medium">Sign Up</span></a></div><div class="flex md:hidden items-center gap-4"><button class="group inline-flex items-center justify-center font-medium bg-black text-white hover:bg-neutral-500 h-[40px] px-[18px] rounded-md min-w-fit transition-opacity duration-300 opacity-100"><span class="text-[16px] leading-[20px] tracking-[-0.02em]  font-medium"><a href="https://portal.blinklabs.xyz/sign-up">Sign Up</a></span></button><button class="relative z-[101] w-8 h-8 flex items-center justify-center" aria-label="Toggle menu"><div class="w-6 flex flex-col items-end gap-1.5"><span class="block h-0.5 bg-black transition-all duration-300 ease-out w-6"></span><span class="block h-0.5 bg-black transition-all duration-300 ease-out w-4"></span><span class="block h-0.5 bg-black transition-all duration-300 ease-out w-6"></span></div></button></div></div></nav><div class="fixed inset-0 transition-all duration-300 ease-out md:hidden opacity-0 pointer-events-none" style="z-index:49"><div class="absolute inset-0 bg-foam transition-all duration-300 ease-out opacity-0"></div><div class="relative flex flex-col h-full pt-[88px] transition-opacity duration-300 ease-out opacity-0"><div class="flex flex-col h-full"><div class="absolute top-[85px] h-[20px] left-0 right-0 bg-gradient-to-t from-transparent via-foam to-foam"></div><div class="flex-1 overflow-y-auto px-8 pb-[220px]"><div class="flex flex-col"><div><button class="flex items-center justify-between w-full py-5 body-24 border-b border-lake">Products<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-[24px] h-[24px] transform transition-transform duration-200 "><g id="Group"><g id="Group_2"><path id="Path" d="M7.505 3L16.5 12.027L7.5 21" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></g></g></svg></button></div><div><button class="flex items-center justify-between w-full py-5 body-24 border-b border-lake">Solutions<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-[24px] h-[24px] transform transition-transform duration-200 "><g id="Group"><g id="Group_2"><path id="Path" d="M7.505 3L16.5 12.027L7.5 21" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></g></g></svg></button></div><a class="py-5 body-24 border-b border-lake" href="/about">About</a><a class="py-5 body-24 border-b border-lake" href="/support">Support</a></div></div><div class="fixed bottom-0 left-0 right-0 bg-foam px-8 py-6"><div class="absolute -top-[30px] h-[30px] left-0 right-0 bg-gradient-to-b from-transparent to-foam"></div><div class="flex flex-col gap-4"><button class="group inline-flex items-center justify-center font-medium bg-black text-white hover:bg-neutral-500 h-[64px] px-[30px] rounded-md min-w-fit w-full"><span class="text-[20px] leading-[32px] tracking-[-0.02em]  font-medium"><a href="https://portal.blinklabs.xyz/sign-up">Get Started</a></span></button><button class="group inline-flex items-center justify-center font-medium bg-white text-black border border-white hover:border-neutral-300 h-[64px] px-[30px] rounded-md min-w-fit w-full"><span class="text-[20px] leading-[32px] tracking-[-0.02em]  font-medium"><a href="https://portal.blinklabs.xyz/sign-in">Log In</a></span></button></div></div></div></div></div><main class="relative min-h-screen bg-background"><div class="relative"><div class="absolute inset-0 w-full h-full" style="background-image:url(/images/lake-gradient.png);background-size:cover;background-positi
sitemap.xml 200 OK
Type URL Set URLs 0 entries Valid XML No
B
TLS Certificate Expiry & Recommendations
37 days until leaf cert expires — 3 issues to address
REVIEW

Certificate validity

37
days left
0d 30d 60d 90d+

Recommended actions

  • Enable HSTS: Strict-Transport-Security: max-age=31536000; includeSubDomains
  • Enable DNSSEC on your domain for DNS spoofing protection
  • Enable OCSP stapling on your TLS server to remove a CA roundtrip and protect user privacy
A+
DNS Records
2 A records, 46 ms lookup
PASS
2 A records, 46 ms lookup
Info::
Resolves to 2 IPv4 address(es)
Got: 104.20.32.209, 172.66.156.92
Info::
Has 2 IPv6 (AAAA) record(s)
Got: 2606:4700:10::ac42:9c5c, 2606:4700:10::6814:20d1
Info::
2 nameserver(s) configured
Got: santino.ns.cloudflare.com, itzel.ns.cloudflare.com
Info::
5 mail exchanger(s) configured
Info::
CAA records not checked
CAA record lookup requires a specialized DNS resolver. This check will be available in a future update.
Info::
SPF record present in TXT
Info::
DNS resolution time: 46 ms
Got: 46 ms
A104.20.32.209, 172.66.156.92
AAAA2606:4700:10::ac42:9c5c, 2606:4700:10::6814:20d1
CNAME
NSsantino.ns.cloudflare.com, itzel.ns.cloudflare.com
MX
1 aspmx.l.google.com
5 alt1.aspmx.l.google.com
5 alt2.aspmx.l.google.com
10 alt4.aspmx.l.google.com
10 alt3.aspmx.l.google.com
TXT
SPF v=spf1 include:_spf.google.com -all
google-site-verification=jBiIlctNk_E_wSh7gVIBbVONZJRQFt9d53cpNqsZ5As
CAALookup not available with standard resolver
Resolved in 46 ms

CAA record lookup requires a specialized DNS resolver. This check will be available in a future update.

Why this matters

Informational: CAA (Certification Authority Authorization) records weren't checked in this scan.

A+
IPv6 Readiness
IPv6 reachable (17 ms)
PASS
IPv6 reachable (17 ms)
Info::
IPv6 is configured and reachable at 2606:4700:10::ac42:9c5c, 2606:4700:10::6814:20d1
Got: 17 ms connect
IPv6 Ready
AAAA Records 2606:4700:10::ac42:9c5c, 2606:4700:10::6814:20d1 Connection Reachable (17 ms)
A+
URL Variants
www/non-www, trailing slash, HTTP→HTTPS
PASS
www/non-www, trailing slash, HTTP→HTTPS
Info::
www/non-www redirect configured correctly (preferred: non-www)
Info::
HTTP correctly 301-redirects to HTTPS

www / non-www

301https://www.merkle.io/
200https://merkle.io/

Preferred variant: non-www

HTTP → HTTPS

301http://merkle.io/ https://merkle.io/

Consistent

A+
HTTP Probe Timing
Total 130 ms — DNS, TCP, TLS, TTFB, content transfer breakdown
PASS
DNS Lookup DNS Lookup — time to resolve the domain name to an IP address.
46 ms
TCP Connect TCP Connect — time to establish a TCP connection to the server.
16 ms
TLS Handshake TLS Handshake — time to complete the HTTPS encryption handshake.
23 ms
Time to First Byte Time to First Byte — how long the server takes to respond with the first byte of data.
130 ms
Total Time Total request time from DNS lookup through full response.
130 ms

Connection waterfall

DNS Lookup 46 ms TCP Connect 16 ms TLS Handshake 23 ms Server Processing 45 ms Content Transfer 0 ms
A
CDN & Delivery
Cloudflare (DYNAMIC)
PASS
Cloudflare (DYNAMIC)
Info::
Site is served via Cloudflare CDN (edge: CDG)
Got: cf-ray: 9ed4ee7d7d1f229c-CDG
Info::
CDN cache status: DYNAMIC
CDN Detected: Cloudflare
Provider Cloudflare Cache Status DYNAMIC Evidence cf-ray: 9ed4ee7d7d1f229c-CDG
Domain Intelligence
Domain intelligence data not available
INFO
Domain intelligence data not available

RDAP and WHOIS lookup both failed

All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback