One of the largest issues with the crypto imo is that the people building the apps and tools do not trade.

Picture of <span class="title">CEO</span> Ilan Rakhmanov

CEO

Ravn

@UniswapVillain

Mobula was the obvious choice for us when we needed an API provider for all things.

mobula

© 2025 Mobula. All rights reserved.

Back to top

How Ravn improved data completness by switching to Mobula

RAVN's signal quality depends entirely on early buyer lists. Every filter, every wallet label, every behavioral pattern is derived from knowing exactly who bought a token in its first minutes. A missing trade at launch doesn't create a small error it removes a wallet from the system entirely.

That wallet never gets labeled, never gets tracked across future launches, never feeds the pattern recognition loop.

When Tom's team cross-checked their early buyer lists against raw on-chain data, the gap was systematic.

@UniswapVillain placed 2nd in the BananaGun trading competition in 2023, turning 1 ETH into $300k+ in a single month. He teamed up with @degenbuddha to automate their internal trading process, spending 15 months building filters, wallet labels, and behavioral pattern detection across 300+ tokens per day. RAVN is that system, packaged for other traders. It has been running profitably for 17 months. (source)

Trades routed through Phoenix, Lifinity, and multi-hop aggregators like Jupiter were absent from their provider's dataset.

Entire categories of early activity snipers, MEV bundles, aggregator routes weren't being indexed.

The root cause: most blockchain indexers cover 1-2 major DEXs per chain.


On Solana in particular, where trading is fragmented across dozens of venues and aggregators, that architectural choice creates a structural blind spot from the first block of every launch.

Competitive Analysis

To quantify the gap, we tested Mobula, Moralis, Bitquery, and Codex on 8 tokens across Solana, Ethereum, BSC, and Base using 10-minute windows. The metric: unique transaction hashes not total trade count, which varies depending on how each provider handles multi-leg swaps.


Transaction Analytics

Chain
Token
Mobula
Bitquery
Codex
Moralis
Solana
Nana
166 TX
144 TX-13%
125 TX-25%
72 TX-57%
Solana
Oilinu
107 TX
95 TX-11%
83 TX-22%
51 TX-52%
Ethereum
OIL
26 TX
26 TX0%
26 TX0%
26 TX0%
Ethereum
Kimchi
7 TX
7 TX0%
7 TX0%
6 TX-14%
BSC
MILADY
27 TX
27 TX0%
26 TX-4%
25 TX-7%
BSC
ARK
296 TX
296 TX0%
296 TX0%
205 TX-31%
Base
Broke
41 TX
41 TX0%
41 TX0%
39 TX-5%
Base
LANCER
166 TX
166 TX0%
167 TX+0.6%
164 TX-1%

Solana is the critical chain. The fragmentation is structural: traders route through aggregators like Jupiter
that bundle swaps across multiple DEXs simultaneously.
On EVM chains, most volume flows through Uniswap or PancakeSwap directly every provider indexes those reliably.
Beyond coverage, each provider has a structural limitation that matters in production:

ProviderSolana coverageEVM coverageCritical limitation
MobulaReferenceCompleteNone
Bitquery-11 to -13%Perfect10k trades hard cap, no pagination
Codex-22 to -25%Perfect10 trades/page (60s for 296 TX)
Moralis-48 to -57%GoodNot viable on Solana

Bitquery is fastest but truncates silently above 10,000 trades. Codex pagination at 10 results per page makes
it unusable at volume. Mobula has no artificial cap.

Full benchmark code (independently testable): github.com/Flotapponnier/token-trade-benchmark-

What sets Mobula Apart

RAVN's requirement is simple: every trade on a token, from minute one, across every DEX.

Mobula's /api/2/trades/filters endpoint is built for exactly this batch retrieval with cursor-based pagination,

no hard limits.

GET /api/2/trades/filters
?blockchain=solana
&tokenAddress=<TOKEN_ADDRESS>
&from=<LAUNCH_TIMESTAMP>
&to=<LAUNCH_TIMESTAMP + 3600000>
&limit=5000

Trade Returns

FieldUsage
swapSenderAddressEarly buyer wallet identification
type: "buy" / "sell"Isolates buyers from sellers
operation: "regular" / "mev"MEV detection from block one
labels: ["sniper", "bundler", "insider"]Mobula's native wallet classification
platform: { name }DEX-level routing visibility
baseTokenPriceUSDExact entry price at trade time
mevFeesUSDConviction buy vs extraction signal
pagination.nextCursorGapless pagination across large datasets

Beyond the endpoint, Mobula's architecture is relevant: stream-based by default,

no cache on any tier, 50+ chains through a single unified API.

When edge cases surface in production, the team responds directly with a technical fix, not a support ticket.



Conclusion

A 57% coverage gap on Solana is not a data quality issue it's a labeling system that operates on half the market.

The missing wallets don't get recovered downstream. The filters built on incomplete early buyer lists don't self-correct.

The errors compound across every launch.

For RAVN, switching to Mobula resolved the blind spot at the source.

Every trade, every DEX, from the first block. That's the only level of completeness a system like this can be built on.



mobula

Contact sales

Resources

Solutions

mobula

Resources

Solutions

RAVN's signal quality depends entirely on early buyer lists. Every filter, every wallet label, every behavioral pattern is derived from knowing exactly who bought a token in its first minutes. A missing trade at launch doesn't create a small error it removes a wallet from the system entirely.

That wallet never gets labeled, never gets tracked across future launches, never feeds the pattern recognition loop.

When Tom's team cross-checked their early buyer lists against raw on-chain data, the gap was systematic.

@UniswapVillain placed 2nd in the BananaGun trading competition in 2023, turning 1 ETH into $300k+ in a single month. He teamed up with @degenbuddha to automate their internal trading process, spending 15 months building filters, wallet labels, and behavioral pattern detection across 300+ tokens per day. RAVN is that system, packaged for other traders. It has been running profitably for 17 months. (source)

Trades routed through Phoenix, Lifinity, and multi-hop aggregators like Jupiter were absent from their provider's dataset.

Entire categories of early activity snipers, MEV bundles, aggregator routes weren't being indexed.

The root cause: most blockchain indexers cover 1-2 major DEXs per chain.


On Solana in particular, where trading is fragmented across dozens of venues and aggregators, that architectural choice creates a structural blind spot from the first block of every launch.

Competitive Analysis

To quantify the gap, we tested Mobula, Moralis, Bitquery, and Codex on 8 tokens across Solana, Ethereum, BSC, and Base using 10-minute windows. The metric: unique transaction hashes not total trade count, which varies depending on how each provider handles multi-leg swaps.


Transaction Analytics

Chain
Token
Mobula
Bitquery
Codex
Moralis
Solana
Nana
166 TX
144 TX-13%
125 TX-25%
72 TX-57%
Solana
Oilinu
107 TX
95 TX-11%
83 TX-22%
51 TX-52%
Ethereum
OIL
26 TX
26 TX0%
26 TX0%
26 TX0%
Ethereum
Kimchi
7 TX
7 TX0%
7 TX0%
6 TX-14%
BSC
MILADY
27 TX
27 TX0%
26 TX-4%
25 TX-7%
BSC
ARK
296 TX
296 TX0%
296 TX0%
205 TX-31%
Base
Broke
41 TX
41 TX0%
41 TX0%
39 TX-5%
Base
LANCER
166 TX
166 TX0%
167 TX+0.6%
164 TX-1%

Solana is the critical chain. The fragmentation is structural: traders route through aggregators like Jupiter
that bundle swaps across multiple DEXs simultaneously.
On EVM chains, most volume flows through Uniswap or PancakeSwap directly every provider indexes those reliably.
Beyond coverage, each provider has a structural limitation that matters in production:

ProviderSolana coverageEVM coverageCritical limitation
MobulaReferenceCompleteNone
Bitquery-11 to -13%Perfect10k trades hard cap, no pagination
Codex-22 to -25%Perfect10 trades/page (60s for 296 TX)
Moralis-48 to -57%GoodNot viable on Solana

Bitquery is fastest but truncates silently above 10,000 trades. Codex pagination at 10 results per page makes
it unusable at volume. Mobula has no artificial cap.

Full benchmark code (independently testable): github.com/Flotapponnier/token-trade-benchmark-

What sets Mobula Apart

RAVN's requirement is simple: every trade on a token, from minute one, across every DEX.

Mobula's /api/2/trades/filters endpoint is built for exactly this batch retrieval with cursor-based pagination,

no hard limits.

GET /api/2/trades/filters
?blockchain=solana
&tokenAddress=<TOKEN_ADDRESS>
&from=<LAUNCH_TIMESTAMP>
&to=<LAUNCH_TIMESTAMP + 3600000>
&limit=5000

Trade Returns

FieldUsage
swapSenderAddressEarly buyer wallet identification
type: "buy" / "sell"Isolates buyers from sellers
operation: "regular" / "mev"MEV detection from block one
labels: ["sniper", "bundler", "insider"]Mobula's native wallet classification
platform: { name }DEX-level routing visibility
baseTokenPriceUSDExact entry price at trade time
mevFeesUSDConviction buy vs extraction signal
pagination.nextCursorGapless pagination across large datasets

Beyond the endpoint, Mobula's architecture is relevant: stream-based by default,

no cache on any tier, 50+ chains through a single unified API.

When edge cases surface in production, the team responds directly with a technical fix, not a support ticket.



Conclusion

A 57% coverage gap on Solana is not a data quality issue it's a labeling system that operates on half the market.

The missing wallets don't get recovered downstream. The filters built on incomplete early buyer lists don't self-correct.

The errors compound across every launch.

For RAVN, switching to Mobula resolved the blind spot at the source.

Every trade, every DEX, from the first block. That's the only level of completeness a system like this can be built on.



How Ravn improved data completness by switching to Mobula

mobula

© 2025 Mobula. All rights reserved.

Back on top

How Ravn improved data completness by switching to Mobula

@UniswapVillain placed 2nd in the BananaGun trading competition in 2023, turning 1 ETH into $300k+ in a single month. He teamed up with @degenbuddha to automate their internal trading process, spending 15 months building filters, wallet labels, and behavioral pattern detection across 300+ tokens per day. RAVN is that system, packaged for other traders. It has been running profitably for 17 months. (source)

RAVN's signal quality depends entirely on early buyer lists. Every filter, every wallet label, every behavioral pattern is derived from knowing exactly who bought a token in its first minutes. A missing trade at launch doesn't create a small error it removes a wallet from the system entirely.

That wallet never gets labeled, never gets tracked across future launches, never feeds the pattern recognition loop.

When Tom's team cross-checked their early buyer lists against raw on-chain data, the gap was systematic.

Trades routed through Phoenix, Lifinity, and multi-hop aggregators like Jupiter were absent from their provider's dataset.

Entire categories of early activity snipers, MEV bundles, aggregator routes weren't being indexed.

The root cause: most blockchain indexers cover 1-2 major DEXs per chain.


On Solana in particular, where trading is fragmented across dozens of venues and aggregators, that architectural choice creates a structural blind spot from the first block of every launch.

Competitive Analysis

To quantify the gap, we tested Mobula, Moralis, Bitquery, and Codex on 8 tokens across Solana, Ethereum, BSC, and Base using 10-minute windows. The metric: unique transaction hashes not total trade count, which varies depending on how each provider handles multi-leg swaps.


Transaction Analytics

Chain
Token
Mobula
Bitquery
Codex
Moralis
Solana
Nana
166 TX
144 TX-13%
125 TX-25%
72 TX-57%
Solana
Oilinu
107 TX
95 TX-11%
83 TX-22%
51 TX-52%
Ethereum
OIL
26 TX
26 TX0%
26 TX0%
26 TX0%
Ethereum
Kimchi
7 TX
7 TX0%
7 TX0%
6 TX-14%
BSC
MILADY
27 TX
27 TX0%
26 TX-4%
25 TX-7%
BSC
ARK
296 TX
296 TX0%
296 TX0%
205 TX-31%
Base
Broke
41 TX
41 TX0%
41 TX0%
39 TX-5%
Base
LANCER
166 TX
166 TX0%
167 TX+0.6%
164 TX-1%

Solana is the critical chain. The fragmentation is structural: traders route through aggregators like Jupiter
that bundle swaps across multiple DEXs simultaneously.
On EVM chains, most volume flows through Uniswap or PancakeSwap directly every provider indexes those reliably.
Beyond coverage, each provider has a structural limitation that matters in production:

Bitquery is fastest but truncates silently above 10,000 trades. Codex pagination at 10 results per page makes
it unusable at volume. Mobula has no artificial cap.

Full benchmark code (independently testable): github.com/Flotapponnier/token-trade-benchmark-

ProviderSolana coverageEVM coverageCritical limitation
MobulaReferenceCompleteNone
Bitquery-11 to -13%Perfect10k trades hard cap, no pagination
Codex-22 to -25%Perfect10 trades/page (60s for 296 TX)
Moralis-48 to -57%GoodNot viable on Solana

What sets Mobula Apart

RAVN's requirement is simple: every trade on a token, from minute one, across every DEX.

Mobula's /api/2/trades/filters endpoint is built for exactly this batch retrieval with cursor-based pagination,

no hard limits.

GET /api/2/trades/filters
?blockchain=solana
&tokenAddress=<TOKEN_ADDRESS>
&from=<LAUNCH_TIMESTAMP>
&to=<LAUNCH_TIMESTAMP + 3600000>
&limit=5000

Trade Returns

FieldUsage
swapSenderAddressEarly buyer wallet identification
type: "buy" / "sell"Isolates buyers from sellers
operation: "regular" / "mev"MEV detection from block one
labels: ["sniper", "bundler", "insider"]Mobula's native wallet classification
platform: { name }DEX-level routing visibility
baseTokenPriceUSDExact entry price at trade time
mevFeesUSDConviction buy vs extraction signal
pagination.nextCursorGapless pagination across large datasets

Beyond the endpoint, Mobula's architecture is relevant: stream-based by default,

no cache on any tier, 50+ chains through a single unified API.

When edge cases surface in production, the team responds directly with a technical fix, not a support ticket.



Conclusion

A 57% coverage gap on Solana is not a data quality issue it's a labeling system that operates on half the market.

The missing wallets don't get recovered downstream. The filters built on incomplete early buyer lists don't self-correct.

The errors compound across every launch.

For RAVN, switching to Mobula resolved the blind spot at the source.

Every trade, every DEX, from the first block. That's the only level of completeness a system like this can be built on.



mobula

© 2025 Mobula. All rights reserved.

Back on top

4157A1

4157A1