A path exists, or every address fails the same way
The condition is that the client has completed the work of building a path through the network and can build another when it needs one. It is not a claim that a particular address responded. Before a circuit exists the client has nowhere to send anything, so every onion address you could type fails in the same words at roughly the same moment.
That identical failure is the point of the card. It does not separate a string that is wrong from a string that is right, because the client never got far enough to use either. Whatever you were trying to learn by typing the address, you learned something about the client instead.
Reaching a name of this kind is not one connection. The client first needs a current view of the network, which it fetches, and which is why the clock matters here. Then it builds a path. Then, for an onion name, it obtains a descriptor naming introduction points, contacts one of them, and arranges a rendezvous point where the two sides meet. Each step is carried over a circuit, so if the first never finishes none of the later ones begin. The vocabulary is unpacked in Words used here.
It is also why a first attempt after a cold start does more work than a repeat. On a fresh client the directory material has to be fetched and no descriptor is cached. On a later attempt in the same session some of that is already in memory. The two are not the same test, and comparing them tells you about caching.
Three conditions feeding this one
This card has three upstream edges, more than anything else in stage B, and each supplies something different.
- The browser came from the Tor Project
- Supplies a client whose report about its own state is worth reading. An indicator means something only if the program drawing it is the published program.
- There is a route out of the network you are on
- Supplies reachability. Circuit building is ordinary outbound traffic, and a network that will not carry it prevents rather than breaks.
- The clock is close enough to right
- Supplies the ability to accept the documents the network hands over. They are valid inside a window, so a machine far out of true reads current material as expired.
All three fail in ways that look the same from the chair. That is why they are three cards rather than one, and why a reader holding only the symptom cannot say which to work on.
Why the address stage cannot start without it
One card depends on this directly: You can tell a mirror from a copy of the market. A single edge looks like a narrow consequence. It is not, because that card is the door into everything after stage B.
It asks you to hold a distinction between two things that render identically, namely another address run by the same operator and another address that merely resembles theirs. Whatever holds that distinction has to be applied to strings whose behaviour you can observe. With no circuit, nothing is observable. Every candidate returns the same generic failure, carrying no information about which is which.
In practice it is worse than no information, because a generic failure invites interpretation. A reader with no circuit tries a string, sees an error, decides the string is dead, and takes a replacement from whatever source produces one quickest. The absent circuit did not only block a comparison. It manufactured a reason to lower the standard set in The address arrived by a route you can use again.
| Cannot hold | The reason it cannot |
|---|---|
| You can tell a mirror from a copy of the market | Both candidates fail identically, so nothing observed separates them and the comparison has no input. |
| The account name is used nowhere else | Sits directly downstream of that distinction. A name spent on the wrong string is a name spent, and names cannot be unspent. |
| You can log in a second time | A second session needs a second circuit. A client that once built one and cannot do it again has not met the repeatability that card is about. |
The value, order and parcel stages inherit the same dependency, since each assumes a session reachable now rather than one reachable once. The full set of paths is on Dependency map. This card therefore gets tested constantly and quietly, and it is the only one in the stage that has to hold repeatedly rather than once.
What a circuitless session looks like from the chair
You paste a string. The window sits there. Then a page appears saying the site cannot be reached, in language that reads like a statement about the address. It is a statement about the client, written before the address was used.
A small cascade follows. The reader tries a different string and gets the same page. A third, the same again. By the fourth the conclusion has hardened into something happened to the market, and the reader is hunting for new addresses under time pressure, which is when stage C checks get skipped.
Meanwhile the cause is usually mundane and sits in one of the three cards above. A clock hours out. A network that quietly drops the traffic. A client never given time to finish its first bootstrap. None of them write their name on the error page, because the page is produced by a component that does not know which happened.
Testing with something you already hold
The check needs a control, and the control has to be an onion address you already have and already had reason to hold. Open that one. If it loads, the client is building circuits and the problem is elsewhere. If it fails in the same manner as everything else, the problem is here.
This site does not open the addresses it publishes, and it is not asking you to open them either. Do not use either string on Onion addresses as your control. A market address is the worst test subject, because you have no independent knowledge of how it behaves, so a failure tells you nothing you can act on.
A pass looks like the control loading more than once, including once after a fresh start of the client rather than only on a warm one. A fail looks like the control failing exactly as everything else failed, which localises the problem here and sends you back to the three cards that feed it.
Not a verdict on any address
This is not a test of whether a particular market address works, and this site makes no claim of that kind about any string. It is also not about speed. A slow circuit is a built circuit, and the condition is satisfied by existence rather than by performance.