MDOGPuppy Pad

Testnet Nothing here is real money. Get testnet USDC from Circle

MDOGPuppy Pad

Every claim on this site is a read-only call you can run yourself.

Here are the addresses, the commands, and what each answer has to say.

If an answer disagrees with this page, the page is wrong and you should act on that.

MDOG 0x83fD0BDDdafA9a499582899d49515060C361b9aa Chart

Proof

on

Every launchpad says its liquidity is locked. The difference worth caring about is whether you can check in a few minutes, from a public RPC, without asking anyone. Commands are written for Foundry's cast, which is the shortest thing to type; any JSON-RPC client does the same job with eth_call.

01

What the contracts enforce

    That list is the whole list. Anything the contracts do not enforce is not claimed anywhere on this site.

    02

    The addresses

    RPC used by every command below:

    03

    Confirm the locker owns the liquidity

    A lock claim is worth nothing until you have seen who holds the position NFT. Ask Uniswap's own position manager, not us.

    04

    Confirm there is no way back out

    Owning the position is only half of it. The other half is that the contract holding it has no function that could ever give it up. The contract source is not published, so do not settle that by trusting anything we say about it. Settle it against the chain: a function that is not there cannot be called, and these calls are how you find out which ones are not there.

    Every call in that block should revert with a function-not-found error, because the functions are not there. collect() is the only path by which value leaves the locker, it takes no arguments, anyone may call it, and it splits the fee the same way whoever calls it.

    05

    Confirm nobody is holding the bag behind you

    Be careful how you read the first one. The factory retains nothing from a launch: the rounding dust left by the liquidity maths is burned at the end of launch(). It does not follow that the factory holds nothing, because anyone can send tokens to any address afterwards. Check the balance, do not assume it.

    06

    Confirm what the creator kept

    creatorEligible() is what stops the creator's half of the fee. It reads one address. A creator who moves their allocation to a second wallet they also control will read as having sold, and because the forfeiture is a one-way latch on the token, moving it back does not undo that. What it does not cover is a creator who takes a small allocation and buys more from wallets it never sees, keeping most of their position outside the rule. That is a real limit of the mechanic and it is not going to be fixed by wording.

    07

    What none of this protects you from

    Anyone can launch anything. Nothing on the board is vetted, endorsed or filtered. A ticker and a name can copy a real project exactly; only the contract address cannot.

    Most tokens go to zero. Locked liquidity does not make a token worth anything. It means the pool cannot be drained by whoever made it, and nothing more than that. The board shows how many of our own launches have never moved off the price they opened at.

    A creator with two wallets. See the section above.

    You cannot read the contracts. The source is not published and the contracts are not verified on the explorer, so nothing here rests on a reader inspecting the code, and nothing here should be believed because we said it. Everything on this page is checkable from the chain alone, and anything that is not checkable that way is not claimed.

    Everything outside the contracts. Coordinated buying, a paid group, a promise made on a social account: none of that is on chain and none of it is enforced by anything here.

    This is testnet. Arc testnet is the only network this pad runs on, by design, and nothing on it is real money.

    08

    What you can check, and what you cannot

    • The contracts are LaunchToken, Curves, FeeLocker and LaunchFactory. Their source is not published and they are not verified on the explorer, so there is nothing for you to read and no reason to take our word for what is in them. That is why this page is built out of behaviour instead: the locker demonstrably holds the positions, the calls that would remove liquidity are not there to be called, owner() reverts on the factory and its EIP-1967 implementation slot reads as zero, so it is not a proxy pointing at something else. Every one of those answers comes from the chain, and none of them needs us or the source.
    • This page is plain HTML, CSS and ES modules. No framework, no bundler and no dependencies. The content security policy is default-src 'none' with script-src 'self', so no code, style, font or image is loaded from anywhere else, and there is no analytics or tracking of any kind. The only external host the page may contact at all is the form service behind the contact page, and only when you press send. Read it: app.js, abi.js, config.js, proof.js.
    • For machines, the same facts are in pad.json and the calls are set out on the agents page.