A prerequisite map for Zion Market. Read the arrows, not the list. Dependency map Onion addresses
zionmarket.biznothing works until

This is not a to-do list and not a walkthrough. It is a set of conditions and the arrows between them, so you can see what your problem is actually waiting on.

Zion Market onion addresses, printed here exactly as they were supplied

Two strings, reproduced character for character as they were handed to this site. Neither one is ranked above the other and neither carries a label, because a label would be a claim and this site is not in a position to make one. Nothing here opens them, so nothing here can tell you what happens when you do.

C2 · An address that is the market

A condition that must already be true

The string has the shape an onion address has

The string has to be 56 characters of base32 followed by .onion, because anything else cannot be a current onion address whatever it claims.

Confirm by: Count the characters before the dot. Fifty six, no digits 0, 1 or 8, and no letters outside a to z.
Not this: Not proof that the address is the market. Correct shape is necessary and it is nowhere near sufficient.

Fifty six characters, then a dot, then onion

A current onion address has a fixed and unglamorous shape. Fifty six characters, a full stop, then the word onion. Sixty two characters in total, with nothing before them and nothing after them. The fifty six are not free text. They come from base32, which here means the twenty six lower case letters from a to z and the six digits from 2 to 7, and nothing else.

That alphabet is worth reading twice, because the digits it leaves out are the ones people get wrong. There is no zero, so a round character in the string is the letter o. There is no one, so an upright stroke is the letter l or the letter i. There is no eight and no nine. Punctuation and spaces cannot appear. These strings are written in lower case, so a capital is a transcription artifact rather than a difference. Anything violating those rules is not a current onion address.

Shape is worth a card of its own because it is the only property of an address you can check with the string alone, sitting still, with nothing open. It costs a minute, needs no network and no judgement, and trusts nobody. It also has a hard limit: a correct shape rules things out and never rules anything in. Every impostor string anyone has bothered to construct has the correct shape, because getting it right is trivial. Passing tells you the string is capable of being an address, and nothing about who operates the service.

The single condition underneath the shape test

One card feeds this one: you hold the address as characters, not as a click. It supplies the thing being counted, and a control has no characters to offer. Run this check against a label printed on a button and the number you get describes the label, while the destination behind it can be anything. That is the whole upstream, and its shortness is the point: shape becomes available the instant you hold text. The dependency map shows how much of stage C narrows through this node.

What a shapeless string stops dead

Two cards depend on this one, and between them they carry most of what stage C is for. The first is the address is kept somewhere that outlives the browser. Storage is indifferent to content. It will hold a truncated string as faithfully as a correct one. Doing the shape check before the string goes in is the difference between a store that preserves an address and a store that preserves a mistake. The fixed count helps here: because the number is always fifty six, a copy that lost its tail is detectable by counting alone.

The second is you can tell a mirror from a copy of the market. That card rests on an onion address being derived from the service key, so that string and service are bound to one another. A string of the wrong shape is derived from nothing and corresponds to no key, so the distinction has no object, and you would be asking which operator stands behind a string that cannot stand for a service at all.

Cannot holdThe reason it cannot
The address is kept somewhere that outlives the browserStorage preserves whatever it is given. An unchecked string becomes a durable copy of a wrong thing
You can tell a mirror from a copy of the marketThe distinction is between two services. A malformed string names no service, so there is nothing to distinguish

Through those two the failure travels far. Being able to log in a second time waits on the stored string, and so does coming back tomorrow and still being you. Neither can report that the trouble started here, because by then the string is simply the string everybody has been using.

The ways this condition is commonly half true

What you are holdingWhy the shape test rejects it
The right alphabet, the wrong countA copy that clipped its own tail, or picked up an extra character. Only counting finds it
The right count, the wrong alphabetA zero, a one, an eight or a nine has crept in, by hand or by a font that renders o and 0 alike
The string plus a pathEverything after the word onion belongs to a page. Check the address part alone

Skipping it: the failure that looks like a network problem

If you never count, the first thing that happens is nothing. Storage accepts it. Notes accept it. The string looks fine, because sixty two characters of noise look like sixty two characters of address to a human eye, and the eye is the only instrument in use.

The failure arrives later and in disguise. You paste the string into the bar. What comes back is a refusal to load, or the string is treated as something to search for rather than somewhere to go. That is identical to what a good address produces with no working path through the network, which is why the reader starts on the network. A long afternoon can go into whether there is a route out of the network you are on, for a string that could never have resolved on any connection. The message points at the network because the software cannot know the difference, and the reader points there because the software did.

Counting, and what counting proves

Put the string in a plain text editor, on its own line. Count the characters up to but not including the dot, in groups of ten so you can recount without starting again. You want fifty six. Then read across the string once looking only for digits, and check that every digit is between 2 and 7. Then confirm the tail is a dot and the word onion, with nothing following.

A pass is three findings: the count is fifty six, no digit outside the permitted six appears, and the suffix is clean. A fail is any other count, a zero or a one or an eight or a nine anywhere, or a character that is neither a lower case letter nor a permitted digit. A fail is worth something. It removes the string from consideration for a minute of your time, without opening anything. A pass is worth much less.

Where the shape test stops

This card proves that a string could be an onion address. It does not prove the string is this market, or any market, or a service that exists. Shape is necessary and nowhere near sufficient, and the habit worth resisting is the one where a string that looks right begins to feel established. What can be settled about a string belongs to the mirror and copy card, and the vocabulary is in the words used on this site.

The chain around this condition

Read downwards. Everything above this card has to hold before it can, and everything below it is waiting on it. Two levels are shown in each direction; the full graph is on the dependency map.

Connected to this one

Where you are in the map