Docs

One subtraction, made properly.

SPORTULA does one thing: it takes what arrived at a wallet and asks where all of it went. Everything else exists to make that subtraction checkable by somebody who does not trust us.

§1   What it actually reads

getSignaturesForAddress

The window. Newest first, bounded, and the bound is reported back rather than assumed away.

getTransaction → pre/postBalances

The ledger’s own before-and-after for one account. Credits are money in, debits are money out, and each debit keeps the signature that produced it — which is what the rule demands before anything may be called a payout.

getBalance

What is still sitting there. It has not moved, so it has no signature — which is why the rule files it as reserved and asks for a date instead.

§2   Do all of it without this site

# the window
curl -s https://api.mainnet-beta.solana.com -H 'content-type: application/json' -d '{
  "jsonrpc":"2.0","id":1,"method":"getSignaturesForAddress",
  "params":["<wallet>",{"limit":250}]
}' | jq -r '.result[].signature'

# one transaction's effect on that wallet
curl -s https://api.mainnet-beta.solana.com -H 'content-type: application/json' -d '{
  "jsonrpc":"2.0","id":1,"method":"getTransaction",
  "params":["<signature>",{"encoding":"json","maxSupportedTransactionVersion":0}]
}' | jq '{pre:.result.meta.preBalances, post:.result.meta.postBalances,
          keys:.result.transaction.message.accountKeys}'

# and who the fee was pointed at, from the launch itself:
# find the instruction whose first 8 bytes are 6ffb31064e4e6a12,
# skip 4 bytes of vector length, then read 32 bytes of address
# followed by 2 bytes of basis points, little-endian.

No account, no key, and no dependence on this site being up.

§3   What this site cannot do

In the same size type as everything else, because a tool that lists what it cannot see is one you can calibrate against, and a tool that does not is one you have to take on faith.

It reads a window, not a history

The most recent 250 signatures, and it stops after 12 seconds whether or not it got them all. Both numbers travel with every figure. A wallet running a distribution engine can sign more transactions in an hour than this reads in a session.

It does not know why money left

Direction and amount are facts on the chain. Purpose is not. Every outflow is shown as money that left, with its signature — never as “distributed to holders”, which is a claim nobody here is in a position to make.

It cannot see who was paid

A debit tells you SOL left. Whether it reached a holder, a market maker or the operator's other wallet is a question about intent, and this reads balances.

It cannot price anything

There is no price feed. Everything is in SOL and lamports. A dollar figure would be a second, unstated reading layered on top of the first.

A gap is not an accusation

Money that arrived in the window and is in none of the destinations usually left before the window opened. That is a real answer and a different one from wrongdoing. Widening the window resolves it; this site will not resolve it for you.

It holds nothing and signs nothing

No escrow, no platform wallet, no Solana program, no deposit. Every page here is a read. Connecting a wallet is not even offered, because there would be nothing for it to do.

§4   This is not an accusation

The launchpad this answers built something that works. Coins really launch, fees really arrive, tokenised stock really moves to holders, and they publish their own unpaid debt — which almost nobody in this category does.

The narrow point is that their system permits money to have no destination. Nobody had to lie for 207.74 SOL to end up unnamed; the shape of the report simply never asked. That is the part worth fixing, and it is fixable in a type.