COSIGN

Connect a wallet

How it works

Cosign is a pump.fun launcher. Each coin comes with a vault: a Squads v4 multisig that holds the dev buy and receives the coin's creator fees. Nothing leaves it without enough signatures and a time lock, and the site shows every proposal while the lock runs. This page says exactly what the site signs, what it reads, and what it can't do.

1. Before the launch

You pick 2 to 5 keys (Solana wallets), a threshold of at least 2, a time lock from 24 hours to 30 days, and the share of the dev buy that goes into the vault (50, 75 or 100 %). Your browser makes two new keys: the coin's mint key, and a one-time create key for the multisig. The multisig's address comes from that create key, so it is known before anything is signed.

The image and a metadata JSON are pinned on IPFS (Pinata). The JSON holds createdOn: https://cosign.market, the coin page as its website, a line in the description, and "cosign": { "v": 1, "multisig", "vault", "members", "threshold", "timeLockSec", "devShareBps" }. pump.fun stores the metadata address at creation, and an IPFS address is the hash of its content: this promise can't be edited afterwards. The server derives the multisig and vault from the create key's public half; your browser derives them too and refuses to go on if they differ.

2. The launch

PumpPortal's Local API builds the creation transaction (create + dev buy in one transaction, so nobody can buy before you). Before your wallet opens, the site checks that you pay for it and that it calls only pump.fun, the token programs, Metaplex, the system and compute-budget programs, and PumpPortal's router (identified on an explorer). Your wallet signs, then the mint key. The signed transaction is simulated: if it would take more SOL than the review showed, it isn't sent. After it lands, the server re-reads it on-chain (success, pump.fun called, mint present, coin trading against SOL, the payer is the creator, metadata written by Cosign, vault derived from its multisig) before listing the coin. It also records the dev buy: what your token balance gained in that transaction.

3. The seal

Two transactions, built in your browser with the official Squads and pump.fun SDKs, signed in one wallet prompt, sent in order:

  1. Vault. multisig_create_v2 on Squads v4 with your keys (all permissions), your threshold and time lock, no config authority and no rent collector, signed by you and the create key. Then the dev tokens move from your wallet to the vault's token account (created if needed).
  2. Fees. On pump.fun's fee program: create_fee_sharing_config, then update_fee_shares with the vault as the only shareholder at 10,000 bps. pump.fun lets a split be set once and locks it (adminRevoked). A sweep of the curve's creator-fee bucket goes first when it isn't empty.

The vault transaction goes first on purpose: fees routed to the vault of a multisig that doesn't exist yet could never be spent. If the second transaction doesn't land, the coin shows “Partly sealed” and its page offers the creator to send it again. Until the multisig exists, the create key stays in your browser (localStorage, for this coin only) so a closed tab can finish the seal; it is deleted once the multisig exists, and it has no power over the multisig after creation.

Both transactions were simulated on mainnet as the real creator of a real pump.fun coin before this site was published (807 and 892 bytes with 5 keys, under Solana's 1,232; Squads' creation fee read as 0 SOL; the fee split came out with the vault at 100 % and adminRevoked: true). See the README.

4. Spending from the vault

Cosign has no key and no button that moves funds out. The keys use the Squads app (or any Squads v4 client): create a vault transaction, propose it, approve it with enough keys, then execute it. Squads refuses to execute before approval time + time lock. Rule changes (keys, threshold, time lock, spending limits) are config transactions and wait out the same lock. Creator fees reach the vault when someone calls pump.fun's permissionless distribution; any visitor can do it from the coin page, paying only the network fee.

5. What the site reads

  • The multisig account: keys, permissions, threshold, time lock, config authority, transaction indexes.
  • The 25 most recent transactions and proposals. Vault transactions are decoded instruction by instruction: transfers of this coin, of other tokens and of SOL are named with their destination; anything else is shown as “a program Cosign doesn't decode”, never as harmless. Batches aren't decoded and count as exits.
  • What the vault holds (SOL and this coin), what the launching wallet still holds, and pump.fun's fee split for the coin.
  • The coin's price and market cap from its bonding curve or PumpSwap pool.

A coin is “Sealed” when the multisig exists with no config authority, the fee split sends 100 % to its vault and is locked, and the vault holds at least the promised share of the dev buy. The page also lists how today's multisig differs from the promise in the metadata (keys, threshold, time lock). The same data is public JSON at /api/coin/<mint>.

Who enforces what

  • Nothing leaves the vault without enough signatures and the full time lock.

    Enforced on-chain by Squads v4

    The dev tokens and the creator fees sit in a Squads v4 multisig vault. Moving anything out takes a proposal, the threshold of signatures, then the time lock: Squads refuses to execute before it has passed (TimeLockNotReleased). Cosign never holds a key.

  • The vault's rules can't change faster than the time lock either.

    Enforced on-chain by Squads v4

    The multisig is created without a config authority. Adding or removing a key, lowering the threshold or the time lock, or adding a spending limit are proposals too, and Squads applies the same time lock before they run.

  • The coin's creator fees go to the vault, and that can't be edited.

    Enforced on-chain by pump.fun

    The seal sets pump.fun's fee split to 100 % for the vault. pump.fun lets that split be set once and then locks it. One exception exists: pump.fun's own admin can reassign a coin's fees through a community takeover (admin_cto). The coin page would show it.

  • The vault promised at launch is written into the coin itself.

    Enforced on-chain by pump.fun and IPFS

    The multisig address, keys, threshold, time lock and dev share go into the coin's metadata before it is created. pump.fun fixes the metadata address at creation and an IPFS address is the hash of its content. The coin page compares that promise with the multisig on-chain.

  • Every exit and rule change is shown with its countdown before it can run.

    Tracked by Cosign

    The site reads the multisig's 25 most recent proposals on every visit, decodes what each would move or change, and shows when it may execute. The same data is public JSON at /api/coin/<mint>, and the vault opens in the Squads app.

  • Spending limits and instructions the site can't read are flagged.

    Tracked by Cosign

    A spending limit would let keys move some funds without a proposal, so without the time lock. Once one has been executed, the coin's dial says so in red for good. Instructions Cosign doesn't decode are shown as such, never as harmless.

  • Dev tokens kept outside the vault are visible.

    Tracked by Cosign

    Each coin shows the share of the dev buy in the vault and the coin still in the launching wallet. Cosign can't see other wallets the creator may own.

  • Nothing is signed that the review didn't show.

    Tracked by Cosign

    Transactions are checked against a list of allowed programs and simulated after you sign: if one would take more SOL than shown, it isn't sent.

  • The keys belong to different people.

    Nobody

    Cosign shows every key's address, nothing more. A creator can hold all of them. What still holds then: one leaked key isn't enough, and every exit waits out the time lock in public.

  • The price holds, or you'll have time to react.

    Nobody

    The time lock covers the vault only. The creator can buy and sell from other wallets, and other holders can sell at any moment. A coin can lose all its value in minutes.

Fees

Creating the coin

No pump.fun creation fee; about 0.02 SOL of rent for the new accounts, and network fees

Solana

Your dev buy

pump.fun's trading fees, plus PumpPortal's 0.5% fee (the service that builds the creation transaction)

pump.fun, PumpPortal

The seal

Squads' multisig creation fee, read live before you sign (0 SOL when last checked), plus rent for the multisig, the fee split and the vault's token account (under 0.02 SOL) and network fees

Squads, Solana

Trading

pump.fun's protocol and creator fees on every buy and sell; the creator fee goes to the vault

pump.fun (live rate on the home page)

Cosign

Nothing. No service fee, no share of creator fees, no key on your vault

Cosign

Limits, said plainly

  • Cosign can't know who holds a key. A creator can hold every key; then the time lock is still public, but no second person agrees.
  • The time lock covers the vault only. Tokens the creator keeps or buys elsewhere can be sold at any moment.
  • A spending limit, once added (after the time lock), lets keys move some funds without a proposal. The dial says so in red.
  • pump.fun's admin can reassign a coin's creator fees through a community takeover. The coin page would show the split changing.
  • Only the 25 most recent transaction indexes are read. Older proposals that are still pending would be missed.
  • Lose enough keys to fall under the threshold and what is in the vault can never move again. Nobody can recover it.
  • Squads and pump.fun are third-party programs. Cosign didn't write or audit them; it relies on their published behaviour.

Questions

What is a time lock, exactly?

A Squads v4 setting: once a proposal has enough signatures, it must wait that long before anyone can execute it. Cosign uses 24 hours to 30 days, 72 hours by default. Squads enforces it, not Cosign.

Who should hold the keys?

You decide: your own second device, a co-founder, a friend. At least 2 keys and 2 signatures. Cosign shows every key's address and can't tell who holds it.

How do I spend the fees or sell dev tokens later?

Open the vault in the Squads app (linked from your coin page), propose the transfer, sign with enough keys, then execute it after the time lock. Your coin page shows the countdown to everyone meanwhile.

Why two transactions after the launch?

Everything doesn't fit in one Solana transaction. The first creates the vault and moves the dev buy into it; the second routes the creator fees to the vault. Your wallet signs both at once. If the second one doesn't land, your coin page offers to send it again, and the coin shows “Partly sealed” until then.

Can a creator skip the seal?

They can launch and never seal. The coin is then listed as “Not sealed” in red. Its metadata still names the vault it promised, so the gap is plain to see.

What if the creator sells from another wallet?

Cosign can't see or stop that. The time lock covers what is in the vault: the share of the dev buy you see on the card, and the creator fees.

Does it work after the coin graduates?

Yes. The vault and its rules don't depend on the curve, and pump.fun's fee split covers the PumpSwap pool too.

Does Cosign hold keys, SOL or fees?

No. Your wallet signs everything in your browser. The vault's create key is made in your browser, signs once and is dropped: it has no power over the vault afterwards.

Is Cosign part of pump.fun or Squads?

No. It is an independent site built on pump.fun's and Squads' public programs.