The New Pool Address: Mint Is Identity, Pool Is Venue

The mint address is the token. The pool address is the place it trades. Migration leaves the first alone and creates the second, and the hour in which both are circulating in the same chat is the hour in which people paste the wrong one. This note explains why the pool cannot be known in advance, gives four ways to find it, sets out how to prove the one you found is genuine, and describes the impostor pattern that exploits the confusion.

Before the handover

Identifier
The mint address, and nothing else is needed
Venue address
The curve account, which most people never look at
Ambiguity
Low; there is one venue and one place to trade
Impostor risk
A copied mint with the same name, on its own curve
What to paste
The mint, always

After the handover

Identifier
Still the mint address, still unchanged
Venue address
A new pool account created during migration
Ambiguity
High; two addresses circulate and both look legitimate
Impostor risk
A copied mint plus a pool somebody funded to make it look real
What to paste
The mint, still, with the pool recorded separately
Question
How do you find and verify the pool a token trades in after migration
Short answer
Read it off the migration transaction, then check the pool holds the mint you expect
Mint
Created once, never changes, and is the token identity
Pool
Created at migration, did not exist before, and is only a venue
Main risk
A same-name mint with its own funded pool that looks identical on a chart

After migration a token has two addresses that matter: the mint, which is unchanged and identifies the token, and the pool, which is new and identifies the venue. Find the pool by opening the migration transaction and reading the account the routine created. Verify it by confirming the pool holds your exact mint. Never verify by matching a name, because names are metadata and anybody can copy them.

Two addresses, two jobs

The mint is created once, when the token is created. Balances are recorded against it in associated token accounts, as the SPL token reference describes, metadata hangs off it, and every wallet in existence uses it to decide what to display. Migration does not touch it. A holder's balance before and after graduation is the same number recorded against the same mint.

The pool is an account created during migration to hold the two reserves. It is a venue: a place where the mint can be exchanged for the quote asset at a price determined by the ratio of balances inside it. It has no relationship to the mint address, it cannot be derived from it by eye, and it did not exist an hour earlier.

Trouble starts because both are base-58 strings of similar length that look equally official pasted into a chat. Nothing about the format distinguishes them. People who have only ever needed one address suddenly have two, arriving within minutes of each other, at the moment they are least inclined to read carefully.

Why the pool cannot be known in advance

The pool account is created by the migration instruction. Before that instruction executes there is no such account, so there is nothing to look up and nothing an explorer can show you. Any site claiming to display the pool for a token still on its curve is displaying something else, most likely a placeholder or a different token.

Some AMM designs derive pool addresses deterministically from their inputs, which means it can be possible to compute an address before it exists if you know every input and know the exact derivation the program uses. This is a real technique and a poor foundation for anything operational, because it breaks silently when a program changes its derivation, when an input differs from what you assumed, or when the launchpad routes to a different venue than you expected.

The practical consequence is a sequencing rule. Everything that needs the pool address has to be configured after migration, not before. Teams that plan a launch as though the pool were a known constant discover this during the busiest hour they will have, which is a bad time to find out.

Four ways to find the pool

  1. From the migration transaction. The authoritative source. Locate the transaction that completed the migration, open it in Solana Explorer, and read the pool account created by the invoked program. Nothing derived from this can be wrong, because you are reading the event that created the thing.
  2. From the mint's account history. Walk the mint's recent transactions in an explorer such as Solscan to the point where the curve was marked complete. The migration is normally the transaction immediately at or after that boundary, and the same reading applies once you have it.
  3. From an aggregator quote. Request a swap quote for the mint and read the route the aggregator returns. It names the pools it intends to use, which tells you both where the token trades and where trading is actually being routed, which are not always the same answer.
  4. From a screener, with care. Third-party sites list pairs and will show a pool address. This is the fastest method and the only one that can hand you the wrong answer, because it depends on that site having indexed the right pool and on you having selected the right row among several with the same ticker. Use it to find a candidate, then verify.

Proving the pool is the right one

Verification is a small number of checks and each one has to be done against full addresses rather than against truncated displays.

  • The pool's base-side token account holds your mint, compared character for character rather than by matching the first and last four.
  • The pool's quote-side token account holds the quote asset you expect, not a wrapped variant you were not anticipating.
  • The pool was created by the migration transaction you identified, rather than by an unrelated account at an unrelated time.
  • The program that owns the pool is an AMM program you can name, not an unfamiliar id you have not checked.
  • The reserves are consistent with the deposits you read off the migration transaction, allowing for trading since.
  • If LP tokens were burned or locked, the LP mint state matches that claim rather than merely being asserted somewhere.

Six checks, a few minutes, and the result is knowledge rather than belief. The alternative is relying on a row in an index maintained by somebody with no obligation to you, at a moment when several rows look almost identical.

The impostor pattern

The confusion around graduation is exploited by a predictable pattern, and it works because every element of it is legitimate on its own.

A mint is created with the same name, symbol and image as a token that is about to graduate or has just graduated. None of that is restricted; metadata is free text and images are URLs. A pool is created for the impostor mint and funded with enough of both sides to make a chart appear and a price exist. Screeners index it like anything else, because from their perspective it is an ordinary new pair.

Then the address is circulated, usually into channels where people are already looking for a post-migration address and already primed to copy the first plausible one they see. The victim's swap succeeds. They receive tokens. The tokens are real tokens of a real mint that simply is not the mint they wanted, and the pool they bought from is controlled by whoever made it.

What is identical between a genuine post-migration pool and an impostor pair, and what actually differs.
AttributeGenuine poolImpostor pair
Token nameSet at mint creationIdentical; metadata is free text
SymbolSet at mint creationIdentical; symbols are not unique
ImageReferenced by the metadata URIIdentical; can point at the same file
ChartReal trades against real reservesAlso real trades against real reserves
Mint addressThe one that existed before graduationDifferent, and this is the only reliable difference
Creation eventCreated by the migration transactionCreated by an ordinary pool creation, unrelated to any curve
Holder historyContinuous with the curve phaseBegins abruptly with no curve history behind it

Read the middle and right columns and the point becomes obvious. Everything that is easy to check is identical. The only reliable difference is the mint address, and the second most reliable is whether the pool traces back to a migration at all.

Illustrative arithmetic on a wrong-pool trade

Illustrative arithmetic

Invented figures describing no real incident, used to show why the wrong pool is not a small error. Suppose an impostor pool is seeded with 5 units of quote asset against a large token supply, and a buyer arrives with 5 units of their own.

On a constant product, doubling the quote reserve halves the token reserve, so the buyer receives about half the tokens the pool held and pays an average price roughly double the pre-trade quote. They now hold half the supply of a pool whose other side is 10 units, 5 of which are theirs.

Selling back is where the arithmetic turns. Their sale would move the price the other way just as violently, and that is before considering that whoever created the pool holds the remaining tokens and can sell into the same reserve first. The realistic recovery on such a position is a small fraction of what went in, and no amount of speed helps, because the loss is structural rather than a matter of timing.

The lesson survives the invented numbers. A wrong-pool trade is not a slightly worse fill. It is a trade into a market with no independent participants, where the exit price is determined by the person who built it.

Addresses people routinely confuse

Beyond mint and pool there are several other addresses in the neighbourhood, and knowing what each one is prevents a whole class of confused questions.

  • The curve account. The venue during the curve phase. After migration it is a historical record and not a place to trade.
  • The pool's token accounts. Two accounts owned by the pool, one per side. They hold the reserves and are not the pool address itself.
  • The LP mint. The mint for the pool's liquidity provider token. Its supply and destination tell you whether the seeded position was burned, locked or left spendable.
  • The creator or deployer wallet. The address that created the token. Interesting for provenance, useless as a trading identifier.
  • Your own associated token account. Where your balance of the mint actually lives. People occasionally paste this when asked for the token address.

Recording it before anybody needs it

The window in which the pool address matters most is the window in which nobody has time to derive it. The fix is procedural and takes a minute: as soon as migration lands, write down the migration signature, the pool address, the program that owns the pool, and what happened to the LP position, in a place your team can copy from.

Keep the mint separate and prominent, because that is the address for a general audience. Keep the pool with the operational notes, because that is the address for whoever is configuring tools. Mixing the two in one announcement is how the wrong one ends up in a swap box.

Keying tools by mint or by pool

Every tool in a launch stack is keyed to one of these two, and the choice determines whether it survives migration. Mint-keyed tools survive: holder trackers, supply monitors, transfer alerts, anything reasoning about ownership. Pool-keyed tools break: price feeds, depth monitors, chart embeds, anything reasoning about a market.

Breaking is not the problem. Breaking silently is. A price feed pointed at a dead curve does not raise an error; it returns the last thing it knew, or nothing, and a dashboard built on it looks calm. Anything venue-keyed should have a staleness check that fires when it stops receiving updates, and that check should exist before the migration rather than after somebody notices.

This is also the question worth asking of anything that trades rather than observes. Teams comparing tooling usually ask a Solana DEX volume bot which venues it supports; the more revealing question is whether it takes a mint and resolves the venue itself, or takes a pool address and keeps using it long after the token has moved on.

Second pools for the same mint

Nothing stops anybody creating another pool for a mint that already has one. Pool creation is permissionless and only requires depositing both sides, so a token that attracts attention frequently ends up with pools on more than one venue, created by people with no relationship to the project.

These are not impostors. They hold the correct mint and they are a legitimate second market in the same asset. Arbitrage keeps their prices roughly aligned with the original, at whatever cost the arbitrage takes. What they create is an identification problem rather than a safety problem: there is now more than one correct answer to the question of where the token trades, and different tools will give different ones.

The practical consequences are worth stating plainly. Depth readings differ by pool, so a dashboard pointed at the thinner pool will report a market that barely exists. Turnover splits across venues, so a single-pool figure understates activity. And routing decides which pool a given swap actually uses, which means the pool a team watches can be the one least of their community trades in.

The resolution is to distinguish the migration pool, which is the one created by the graduation and the one whose provenance you can prove, from any other pool that exists. Record the first explicitly. Discover the others deliberately rather than being surprised by them, and when a number disagrees with expectation, check which pool produced it before checking anything else.

Habits that make the hour survivable

None of this is difficult, and all of it fails under time pressure unless it is habitual. Compare full addresses, never truncated ones, because truncation is exactly what the impostor pattern is designed to exploit. Get addresses from a transaction you opened yourself, not from a message somebody forwarded.

Treat the first plausible answer as a candidate rather than a conclusion, and spend the two minutes verifying. Keep the mint as the public identifier and the pool as an operational detail. And when something looks wrong, check which account you are looking at before checking anything else, because that is the explanation more often than any of the interesting hypotheses.

Questions the desk is sent

Is the pool address the same as the token address?

No, and treating them as interchangeable is the most common expensive mistake in the hour after a graduation. The token address is the mint: created when the token was created, unchanged by migration, and the thing a wallet uses to recognise a balance. The pool address is an account created during migration that holds the two reserves. One is identity, the other is venue.

Can I predict the pool address before migration?

Not in any way you should rely on. Some AMM designs derive pool addresses deterministically from their inputs, which means an address can be computed in advance if you know every input exactly and know the derivation the program uses. That is a fragile assumption to build on. The dependable method is to read the address off the migration transaction after it lands.

What if a token has two pools?

That is normal and permissionless. Anybody can create a pool for any mint by depositing both sides, so a token that attracts attention often ends up with pools on more than one venue. Arbitrage keeps their prices roughly aligned. When it matters which one is being used, ask an aggregator for a quote and read the route it returns.

How do I check a pool actually holds the token I think it does?

Open the pool account in an explorer and read the mints of its two token accounts. One should be the mint you care about, character for character, and the other should be the quote asset. Matching the ticker or the name is not verification, because names are metadata and metadata can be copied by anybody.

Why do search results sometimes show the wrong pool?

Because search on most surfaces matches on name or symbol, which are not unique. Several mints can share a symbol and each can have its own pool. The result you want is the one whose mint matches, and the only way to establish that is to compare the full address rather than the first and last few characters.

What does it mean if the pool has almost no liquidity?

Either the pool is not the one the migration created, or liquidity was added by somebody else in a small amount and left there, or providers withdrew what they had added. All three happen. Check whether the pool you are looking at was created by the migration transaction before drawing any conclusion about the token from its depth.

Should I share the mint or the pool with my community?

Share the mint. It is the identity, it is what a wallet needs to display the token, and it is what any reasonable interface will accept. Keep the pool address recorded for the people configuring tools, where it belongs. Circulating two addresses to a general audience is how the wrong one ends up pasted into a swap box.

Filed under After by The Migration Desk. Program behaviour described here was read from public documentation or from transactions anyone can open in a block explorer; anything the desk worked out by watching is marked as inference where it appears. Launchpad parameters are operator-controlled and change, so no threshold, fee or duration is stated as a fixed number anywhere on this site. The standard is written out in what this desk does.