Put the same proxy session on multiple profiles and they share one exit IP, however different their fingerprints are. On 18 September 2026 a batch create of ours did exactly that: four profiles minted from one provider all came out holding one session id, and so one address. This is how it happened, and why each profile now mints its own.
What a session id is on a residential gateway
A residential seller sells you one gateway, not a list of addresses. You get a host, a port, a password and a username with options written into it. A line from IP Oasis looks like this:
gate-eu.ipoasis.com:8668:acct-region-us-sess-146592-sessTime-30:pw
Everything that decides where you come out is in the third field. region-us picks the country. sessTime-30 asks the pool to hold the exit for 30 minutes. And sess-146592 is the session: the pool hands that token one exit and keeps giving it the same one for as long as the session lasts. Change the six digits and you get a different address. Keep them and you get the same one, from any browser that sends them.
So the host, the port and the password say almost nothing about the exit. Two profiles with the same line are two windows onto one connection, and a site comparing addresses sees one person. The fingerprint can be drawn from two entirely different machines and it will not matter, because the address is the cheapest thing a site has to compare (the other signals a site joins accounts on are in how to manage multiple accounts without getting linked).
Paste one gateway line. Every profile mints its own exitIn Mosaic: Provider minting. One gateway line, a separate exit for every profile. Free holds 3 profiles. Pro is $49 a month for any number.
Mosaic is a desktop app
Email yourself the link and open it on your computer.
How it works: Provider minting
Why a provider in Mosaic is a template
The obvious way to give forty profiles forty exits is to paste the line forty times and edit the session id in each one. That works until one typo, or one copy that forgot to be edited, puts two accounts behind one address with nothing on screen to say so.
So in Mosaic the line is not a proxy. It is a provider: the seller's account, kept as a template. A proxy is an address one profile browses through; a provider is where addresses come from. Every profile pointed at a provider mints its own proxy from it, with a fresh session id written in the seller's own style. A line whose sessions are six digits gets six digits back; one whose sessions are letters gets letters.

How a batch put the same proxy session on multiple profiles
The template existed and the bug got past it anyway. Creating profiles from a provider measures the exit first, so the fingerprints can be drawn for the right country. To measure it, the create minted one proxy. Then the loop that makes the profiles handed that same minted proxy to every one of them. Four profiles, one session id, one address.
We found it only because the store refused it. When each profile was saved, the store read its proxy back and saw a provider reference sitting beside a host and a password, a combination it does not accept, and returned a 400 naming it. That refusal was luck. It guarded a different rule, and without it a batch of 500 would have been created on one exit with every row looking correct.
The fix: give each profile the provider, not the proxy
The batch now passes the provider reference, and each profile mints from it on its own. The measurement still happens once, because it answers a question about the account: which country does this pick actually buy? That country reaches the generator, which draws timezone, language and the rest of the machine for it (real fingerprints covers how the hardware is drawn).
Nothing from that sample is written onto any profile's proxy. The session that answered the measurement belongs to no profile, so copying its result onto 500 new proxies would put a green tick on 500 addresses nothing had ever contacted. A minted proxy starts unchecked, and like every proxy in Mosaic it has to answer and tunnel before its profile will open.
check:create-exit now carries a share-credential fault that puts the old loop back, and fails when it does. A check that has never been seen to fail tells you nothing.
Two smaller rules that came out of it
Five lines pasted off a seller's dashboard are usually five examples of one gateway, differing only in a session id Mosaic rewrites anyway. Saving them as five providers would be five templates for one account. So a second paste of the same host, port and account is refused, and the message names the provider that already covers it.
Deleting a provider does not take the exits away from its profiles. Each profile holds its own minted credential, and the provider is only where it came from. The delete answers with keptProfiles, the number of profiles still browsing on what they were given, because a bare { deleted: true } invites the caller to assume forty profiles just lost their proxies.

When sharing a session is what you want
Sometimes one account really should keep one address, for example a store that has always logged in from it. That is a pinned session: you write the session id yourself and Mosaic leaves it alone. If a pinned session dies, Mosaic refuses the launch and says so, instead of quietly moving the account to a new exit. Only a session Mosaic minted, or one you marked as disposable, is ever replaced.
What we would not do is let the same session reach two profiles by accident. That is the whole difference between forty separate profiles, say one per client, and forty that a site reads as one connection. Providers work on every plan, and the pricing page lists what Pro adds.





