Minara.fun produced 1,417 token launches in its first 6 hours and 2 minutes on Arc mainnet. By 14:40 UTC on September 16, 2026, 1,312 of those tokens had traded. Their Minara pools recorded 168,208 swaps and $22.59 million in gross USDC volume after exact duplicate data rows were removed.

Disclosure: This story was prepared for Bitquery and uses its API. I used AI assistance to organize, draft, and edit the story; I checked the queries, contracts, and figures against the cited data.

In this guide, “Minara.fun API” means Bitquery’s GraphQL access to Minara’s public on-chain data. Minara supplies the contracts and activity; Bitquery supplies the query service used below.

What Minara.fun launched on Arc

Minara.fun is a token launchpad built for Circle’s Arc mainnet. A launch creates a token and opens a Uniswap v4 pool in one transaction. Arc’s native asset is USDC, so users pay gas in USDC and Minara’s main pools use USDC as the quote asset.

That setup makes the data easier to read. The amount moving through the quote side is already in a dollar asset. It also gives an analytics app a clear chain of records: the launch event names the token and pool, while the pool’s later swap rows carry the price, wallet, direction, and USDC amount.

Minara’s mainnet contract registry listed these addresses during the check:

Launch strategy: 0x4D3a3f4e1a918845C2038Bc064C4d250822B203eToken factory: 0xFf99D8f6C994607576eB652EDCf12E04a7EbfBf6Fee hook: 0xb6A65950534F061618B4AE102FBcbb8541a8e0cCUniswap v4 PoolManager: 0x8366a39CC670B4001A1121B8F6A443A643e40951

Read that registry when your app starts. Minara’s current strategy address can change.

Six hours of Minara.fun activity

The study starts at the first successful TokenLaunched event, 08:37:48 UTC, and stops at 14:40:00 UTC on September 16. Arc public mainnet had not existed for a full day, so a “last 24 hours” figure would have been false precision.

About 92.6% of the launched tokens had traded by the cutoff. The pace peaked between 09:30 and 10:00 UTC, when 319 launches landed in 30 minutes. Across the full window, the mean was close to four launches per minute.

Minara.fun launches by 30-minute interval. The first and final bars are partial intervals. Source: Bitquery; 08:37:48–14:40:00 UTC, September 16, 2026.

Trading was concentrated. A token named Minara, at 0xa163…61bb, accounted for $9.63 million, or 42.6% of the measured volume. The four busiest Minara pools made up 70.9% of all volume in the window.

Gross USDC volume in the five busiest Minara pools. Token names are on-chain labels, not verified identities. Source: Bitquery; same fixed window.

These numbers describe turnover, not revenue, liquidity, or money raised. Anyone can create a token with an arbitrary name. A label such as “Minara” does not prove that the token came from, or is backed by, the Minara team.

Prove the launch before counting it

Minara’s TokenLaunched event has this signature hash:

3b3d2bafdcae274a232217e1f80ee4305d3af6aa25c8b14b1681bd68d18042a4

The first indexed topic after the event hash contains the Uniswap v4 pool ID. The next topic contains the token address, padded to 32 bytes. Keep the transaction hash and log index as the row ID.

A stronger check reads four events from the same transaction. The token factory emits TokenCreated; the PoolManager emits Initialize; the approved strategy emits TokenLaunched; and the Minara fee hook emits PoolRegistered. The token and pool ID must agree across those records.

My first pass filtered on the launched token addresses. It returned $26.72 million. The query was also catching secondary pools that Minara did not create. After I switched to the pool IDs emitted by the launch transactions and removed exact duplicate rows, the measured total fell to $22.59 million.

For example, the launch of 0xa163…61bb appeared in transaction 0xf4bda4…747b. Its factory event was followed by pool initialization, hook registration, and the strategy’s launch event. The agreed pool ID was 0xd77a…b150. That pool, rather than every market carrying the same token address, became the filter for the trade and candle queries.

This separation matters on launch day. A popular token can gain extra pools within minutes. A token-wide volume query then answers a different question: how much the token traded across Arc. A pool-ID query answers how much moved through the market created by Minara.fun.

Query recent Minara.fun launches

Paste the query into the Bitquery IDE. It reads Arc mainnet only and returns the newest successful launch records from the current strategy.

query RecentMinaraLaunches {
EVM(network: arc) {
Events(
limit: {count: 20}
orderBy: {descending: Block_Time}
where: {
TransactionStatus: {Success: true}
LogHeader: {
Address: {is: “0x4d3a3f4e1a918845c2038bc064c4d250822b203e”}
Removed: false
}
Log: {Signature: {SignatureHash: {is: “3b3d2bafdcae274a232217e1f80ee4305d3af6aa25c8b14b1681bd68d18042a4”}}}
}
) {
Block {Number Time}
Transaction {Hash From}
LogHeader {Index}
Topics {Hash}
}
}
}

For each result, take the pool ID and token address from the indexed topics. Before saving the row, run the four-event check above.

Read recent trades from one Minara pool

Uniswap v4 uses one PoolManager contract for many pools. Its contract address is not a pool filter. Use Pair.Pool.Id, taken from the verified launch event.

query RecentTradesForMinaraPool {
Trading {
Trades(
limit: {count: 20}
orderBy: {descending: Block_Time}
where: {
Pair: {
Market: {Network: {is: “Arc”}}
Pool: {Id: {is: “0xd77a1efbc8d143b100cf2496ff970da0a616a6796886e6ba1f45e7d7e09bb150”}}
}
}
) {
Block {Time}
TransactionHeader {Hash Index}
Trader {Address}
Side
Amounts {Base Quote}
AmountsInUsd {Quote}
PriceInUsd
Pair {
Token {Id Address Symbol}
QuoteToken {Id Address Symbol}
Pool {Id Address}
Market {Network Protocol}
}
}
}
}

Use AmountsInUsd.Quote for dollar volume. The quote side is the sound measure for these USDC pools; the base-side USD field uses a reference price that can drift during quick moves.

Rank Minara tokens by USDC volume

Build the pool-ID list from verified launch events, then pass it to Trading.Trades. The sample uses the five busiest pools so it stays readable. A production job can submit the full list in batches and merge rows by pool ID.

query TopMinaraTokensByVolume {
Trading {
Trades(
limit: {count: 10}
orderBy: {descendingByField: “volume_usd”}
where: {
Pair: {
Market: {Network: {is: “Arc”} Protocol: {is: “uniswap_v4”}}
Pool: {Id: {in: [
“0xd77a1efbc8d143b100cf2496ff970da0a616a6796886e6ba1f45e7d7e09bb150”
“0xd67fdb79ceb19fe7c671b3def4fec48bef2322ec45e8e3b72ca918b77f1d218e”
“0x1857b4a03254e13d44f1fd50010c4eb2e6de774681d960f83d1ccd728e802602”
“0x1a81b70aef20a111df2dda2be549fef7736b7ec2196856c0d6704bb0135cad47”
“0x8923c2bd0d514997173fc0a6813ee2b7875daa9d89b76e9e98c76a3ed13b3e09”
]}}
}
Block: {Time: {since: “2026-09-16T08:37:48Z” till: “2026-09-16T14:40:00Z”}}
}
) {
Pair {Token {Id Address Symbol Name} Pool {Id}}
swaps: count
traders: count(distinct: Trader_Address)
volume_usd: sum(of: AmountsInUsd_Quote)
}
}
}

The Trading cube contained 163 exact duplicate rows in the full Minara set, a rate of 0.097%. For audited totals, I removed duplicates using pool ID, transaction hash, trader address, side, and base amount. Keep that check in any report that presents an exact trade count or volume total.

The raw query returned 168,371 rows. After the duplicate check, 168,208 remained. Distinct transaction hashes totaled 167,337, slightly below the swap count because one transaction can contain more than one swap. This is why a transaction count should not be presented as a swap count.

Build five-minute OHLCV candles

Use Trading.Pairs when you need candles for one verified v4 pool. A duration of 300 means five minutes.

query MinaraPoolFiveMinuteCandles {
Trading {
Pairs(
limit: {count: 100}
orderBy: {ascending: Block_Time}
where: {
Market: {Network: {is: “Arc”}}
Token: {Id: {is: “bid:arc:0xa163d7624da3b5d9182c50eab5b8cd247ae861bb”}}
Pool: {Id: {is: “0xd77a1efbc8d143b100cf2496ff970da0a616a6796886e6ba1f45e7d7e09bb150”}}
Interval: {Time: {Duration: {eq: 300}}}
Block: {Time: {since: “2026-09-16T08:37:48Z” till: “2026-09-16T14:40:00Z”}}
}
) {
Token {Id Address Symbol}
QuoteToken {Id Address Symbol}
Pool {Id Address}
Interval {Time {Start End Duration}}
Price {Ohlc {Open High Low Close}}
Volume {Base Usd}
}
}
}

This query returned 71 five-minute candles for the leading pool in the fixed window. Empty intervals are normal when no swap occurs.

What to build with the data

A launch feed can start with EVM.Events, verify the transaction, then watch the matching pool through Trading.Trades. Store the block time, transaction hash, log index, token address, pool ID, and strategy address. That record gives every later query a clean starting point.

From there, you can add alerts for new launches, a pool-level trade tape, price charts, or wallet activity. If the app must react at once, turn the launch and trade queries into subscriptions and connect through Bitquery’s GraphQL WebSocket endpoint. Keep the API token on your server.

Plan for brief WebSocket drops. Save the last processed block and log index, then request a small overlap before reconnecting. Remove rows already held by your app. The overlap is safer than assuming the first message after a reconnect follows the final message seen before it.

Refresh Minara’s registry on a schedule as well. Event signatures can remain stable while an approved strategy address changes. Saving the strategy address beside each launch makes an old record reproducible without forcing today’s address onto yesterday’s data.

I covered the wider chain setup in my earlier guide to the Arc blockchain API with Bitquery. For the current data fields and more examples, use Bitquery’s Arc launchpad API documentation.

Minara.fun API on Arc: track launches, trades and volume was originally published in Coinmonks on Medium, where people are continuing the conversation by highlighting and responding to this story.

By

Leave a Reply

Your email address will not be published. Required fields are marked *