CrofAI is an OpenRouter wrapper
CrofAI accepts the openrouter:advisor tool, completely unexpected for an independent inference provider. Recording the results of using
this tool across every model shows CrofAI is an OpenRouter wrapper that silently routes to cheaper or weaker models than what
you request, explaining its low prices. Proof that this was true at the time of writing follows later.
These models are routed to DeepSeek V4 Flash 0731:
deepseek-v4-pro-0813glm-5.3-flashglm-5.2qwen3.8-27bqwen3.5-397b-a17bdeepseek-v3.2deepseek-v4-prokimi-k2.7-codekimi-k2.6kimi-k2.6-precisionmimo-v2.5-proqwen3.6-27b
These models are routed to GLM 5.3 Flash:
kimi-k3kimi-k3-ecoglm-5.3glm-5.1
These models are routed to Kimi K2.7 Code:
greg-2-supergreg-1greg-1-super
These models are routed to Qwen3.7 Flash:
deepseek-v4-flash-vision-exp
These models are routed to GLM 5.2:
greg-2-ultra
These models are routed to GLM 4.7 Flash:
gemma-4-31b-it
These models are routed to Qwen3.5 9B:
greg-1-mini
These models aren't swapped out, but aren't self hosted either:
Since CrofAI is working on patching the fingerprints mentioned here, our claims come with independently verifiable attestations published on GitHub: one from the morning of September 13 (run 34768920690), one from that night, after CrofAI's fixes (run 34804687001), and one after CrofAI's last deploy (run 34824987757), all on 1ec3ef0. The most common result for every model above is the same in all three. You're encouraged to
ask your agent to use gh to verify it. If that's not enough, we have more reasons to
be suspicious:
I gave CrofAI 5 shots to fix it, it still routed to OpenRouter
ktibow
i'm seeing crof falling back to openrouter on many models. i tried to debug this by using :consistent, like the playground does, but it's 404ing, is :consistent deprecated or smth? (to
be fair it was one of the first ever features announced lol)
CROF_OWNER
What do you mean falling back to openrouter?
ktibow
it seems to not be going through crof's own inference - various things that only work on openrouter are working on crof
CROF_OWNER
interesting, I'll take a look at it
what are some of the things that typically only work on openrouter?
(it's possible some of it is from kimi or claude since I can't remember when I did this but a while back I was annoyed with some things people were saying were off about the API so I told whichever one I was using at the time to do it's best implementing a perfect OpenAI chat completions API and I said it should look to openrouter for examples but I'm not sure)
ktibow
i think the big one i noticed was that server tools were implemented
eg if i passed in type datetime instead of type function it could find the current date and time
but there's a lot more that just looks like a full fallback
hence me trying to use :consistent to see what happens when fallbacks are disabled
CROF_OWNER
huh, I mean I have some openrouter usage for comparison but it doesn't seem like GPUs are off necessarily so maybe it's just really frequent but honestly I'm not sure, I'll make some updates for better monitoring and ensure openrouter isn't anywhere it shouldn't be, I have tested our API with openrouter and I've set them as an all hell breaks loose fallback so I'll go through it myself and have a couple agents check me
thank you
CROF_OWNER
everyone should be invited to deepseek-v4.1-flash-lightning, and there's a new version that should properly apply the max output length as well as hopefully fixing some weird behavior that @KTibow noticed (sorry for the ping)
let me know if you have any issues with anything
(new version is here https://67.nahcrof.com/, I didn't pick the name because I'm brainrotted though I still am, I picked it because the local ip is .67)
Shot 1. I reported that CrofAI seemed to be "falling back" to OpenRouter, and that :consistent 404s. CrofAI said OpenRouter was only an "all hell breaks loose" fallback, and suggested the similarities
could come from an AI told to look to OpenRouter when implementing the API (copying an API's shape
doesn't make OpenRouter's server tools actually run, though). A few hours later, CrofAI shared a beta
deploy with me.
ktibow
concerningly, 67.nahcrof.com is still falling back to openrouter
CROF_OWNER
What in the world
What all is happening?
ktibow
i can't say much - you'll need to check your code and run a debug request and see where it goes yourself
CROF_OWNER
I’ll set up some logging and a new version when I get home
Thank you for helping
Holy shit you’re right, I thought you weren’t because I signed into openrouter with the wrong email but there’s a not insignificant amount of traffic going to openrouter and from what I can tell on my phone it’s because I configured my gpu router to avoid high priced pro 6000s and vast isn’t playing nicely, I’m assuming I forgot to plug in my runpod fallback and instead it’s going to openrouter, I’ll push an update to the .67 server when I get home from work in a few hours and let you know, thank you so much
CROF_OWNER
alright, update is there, same url
Shot 2. The next morning, the new version was still routing to OpenRouter (as attested), just blocking non-function tools. CrofAI confirmed "a not insignificant amount of
traffic" was going to OpenRouter, blamed a GPU router avoiding expensive RTX PRO 6000s (to be fair,
their price went up recently as of writing), and pushed an update to the beta deploy.
ktibow
you definitely deployed the update but fallbacks are still being used
CROF_OWNER
Why do you say that?
If it’s consistent being broken I think one of the clankers broke it
I can fix that too and let you know so you can retest
ktibow
i can't say much - it's pretty consistent tho
you'll need to trace where each request is going and ensure your gpu fleets are running
since crof's codebase is private i can't do that on my own
CROF_OWNER
They are, I have the requests being tracked and none of them hit the fallback
I have openrouter set as a shit hit the fan fallback and none of them went there, how come you can’t say much?
ktibow
i would like to say more, but i can't since there's a chance you're acting in bad faith. if you were acting in bad faith, then i would just be giving you hints about how to fake not being openrouter.
what models say and how they say it looks like openrouter in multiple ways tho
CROF_OWNER
That’s sort of what I figured but I can assure you no requests are going to openrouter, the old api is but I’m tracking all requests actively
Is the concern that it’s not hitting GPUs or that the models are incorrect
ktibow
and :consistent ("Allow fallback servers" toggle in playground) is still broken, might
be worth removing from the playground if it's no longer implemented
CROF_OWNER
I’ll try fixing that
Thank you
Shot 3. CrofAI denies anything going to OpenRouter now, but all models still had OpenRouter fingerprints, just with certain metadata masked.
CROF_OWNER
I’ll spin up another update with an experiment in a sec, can you do what you did for the last couple?
ktibow
i can, can you share more about the experiment?
*will
CROF_OWNER
If it’s alright I will but after the experiment, I want to try just running it and see if it feels better, I’ll share regardless afterwards
It might take a bit (like an hour or so) so I do apologize
ktibow
alright let me know when it's live
you could preregister an explanation about the experiment by using a cryptographic time lock service - encrypt now, send now, i decrypt only when time comes
ktibow
deployed yet?
CROF_OWNER
I can try that out
Not quite
ktibow
would appreciate if you sent the encrypted version
CROF_OWNER
sorry, just got back to my computer, I'll send that and then get the deployment finished
forgive me if this is silly but do I just send you the ciphertext?
ktibow
yeah
i won't be able to decrypt it until the time you set
CROF_OWNER
-----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMyMTg1MTUyIDUyZGI5YmE3 MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw MGM4NGU5NzEKc1NKbllJbUVjc1dUSnhhQUlrdFBwZ01KcWkwd3JReW8xMys5Z2tz VkplMUZpSklWbVZXakhyNzI5SWUvamRYMgpHUDVra09YSlVXYjZ5QmUyTzQ3QXFx YVZYVkRLV0tJbXQ5MkYzWUNNUlJUUU02MlU2UndBczdFK1cwTDBWSll3CjRpMEp2 ME5rVjdWNThmTXUzaDZxdmpWTmdhMVBQTmdkVHVxRUdWdzdzbUkKLS0tIG8vYVJr Mjh3NldxYXZZUStzNThSV1RGUWRxVkJLcFp3OHZjNEtjSnhtY00Kv7Bcyia3gy7X +tk1gNGyJ9qlKVtlgKSRd3i3a/WKGHeqwNLUn6wsxvTznYOtXXnPnnE0wnslCjRf x7oKDiXL8IvRiIB0EnQ+wtKlw8YyNyUtF4CUmHx+azTfXltzbq9iIXxIGW1LTeQo eelHcIYivr5LaQj7/f0beskS5pisRziQIcuwTc+3S+QdHhMcQTYbJQmi5qqY/cUx skQC9sFaqo06WuN/mK4ifXq2UD8z2MLIeCrAWBCWKKRUaygMnCE8ro/cLXHDUSPL ZYgImnzZmrwlqr5pbb/poJPmzQrFe551zMD0QXM2RVgaBjvsLcu7Fs2s1g3pq1VF UnrC53QpT1uzYid9ZPyA1fcK6oCCy5slxp5QiV0vuonnvm6CqHZsdv15qHpNH8YM CJkEfbrjoXSpROpmM0Xk7/KcSVtcUn5e64NpkxL0itIpkTukQvVfphSMelYOjEqQ /6SPa3VUWmpfPf6pMO7JNG4Thl4ckWnbw8h3ZuJUHHZR6gu0QeMWsX6mpIk9oYlc fXRYlaqKmtNq8H6D7lH5sH6PO4NfVsTgzmqxDK8Q277/0maEy2ttybOLvzikoflT QNNWqW/eG7b+TZ6o/Wfn0NOspfVSF+NqAP2/w7gO -----END AGE ENCRYPTED FILE-----
I set it for 23:07 my time
it's 22:10
CROF_OWNER
should be good
although I broke deepseek-v4-flash-0731 but I'll redeploy to the test here in a sec and it should be good
ktibow
ok back, looking now
CROF_OWNER
looks like my kimi-k3 deployment I set up for this broke so I apologize for that
I disabled all fallbacks to ensure we don't hit openrouter under any condition so perhaps that was going wrong and my fallback code once we fail to hit any GPUs is absolute spaghetti so perhaps that was part of it, I'm having kimi (on moonshot because I like their sub) look through it and I'm gonna be working on it and I'll have my junior audit my code and I'll audit the results he pushes
ktibow
to give some feedback before the answer about what changed is disclosed: most models look better, i'm still running tests to verify completely correct behavior rn
CROF_OWNER
basically I tried to avoid any inconsistencies that could come from my routing and fallbacks
ktibow
0731 seems still broken
CROF_OWNER
updated it just now
ktibow
ok yeah that fixed it
ill lyk when im done testing
Shot 4. CrofAI announced an "experiment", disabled "all fallbacks to ensure we don't hit openrouter under any condition", and time-locked an explanation that unlocked at 9:07 PM. Here's its decryption:
I'm deploying a separate version of the website, the deployments behind the backend will consist of two types, pretty much all models will go to a set of rented boxes that I hand configured and routed myself, they will not scale up or down traditionally (I anticipate that for this test it will cost a few hundred -- approximately). The only model that won't fit this is deepseek-v4-flash-0731 which will be deployed to my local dgx spark.
With "all fallbacks" disabled, the experiment still went to OpenRouter. From the attestation taken half an hour after it went live:
-
deepseek-v4-flash-vision-expdownloaded its image asOpenRouter/0.0 (https://openrouter.ai/; security@openrouter.ai). -
greg-2-super,mimo-v2.5-pro, andqwen3.5-9breturned OpenRoutergen-response IDs, with the exact same prompt token counts as on crof.ai.greg-2-superandqwen3.5-9beven downloaded their images from the same Alibaba Cloud IPs as on crof.ai. -
deepseek-v4-flash-0731, the "local DGX Spark" model, was answered by a Qwen model, counting tokens exactly likedeepseek-v4-flash-vision-exp(in my testing after CrofAI fixed it; it errored during the attested run). The real model wouldn't fit on a Spark anyway: its weights are 167 GB, the Spark has 128 GB, and the Q8_0 CrofAI advertises would be 323 GB.
The other models just got new paint. Compared to the morning attestation, their gen- IDs became hex IDs, and the Kimi, GLM, and Gemma models that had been counting
tokens like another model family started counting them like their own. The DeepSeek and Gemma models
still downloaded images the same way as on crof.ai, from Huawei Cloud with browser User-Agents and
from the same Cogent /24.
And crof.ai itself didn't change at all: every model gave the same advisor result 5 out of 5 times.
CROF_OWNER
Hey, I saw your blog, you said 4 tries but in your experience are you finding the new version to still be routed somehow? It feels a little like you exploited my confusion with time, I understand the concern but I don’t see what could be wrong with this latest version and you ended the story short I feel like but it could be my biased opinion
ktibow
yes, i waited for the latest 67.nahcrof.com deploy to be up before running audits that show it being routed to openrouter
CROF_OWNER
Then your latest audit is entirely false, your prior audits are correct in my finding, GPUs were scaling worse than poorly, they weren’t set up properly at all and that’s far from acceptable but in the latest update there’s no openrouter fallback, I did set up different versions of the models and invited specifically your account and mine since others use the .67 version so perhaps you used a different account and that’s the issues
?*
ktibow
you invited KTibow?
CROF_OWNER
Yes
Your latest audit is either false or done on a different account because the custom config contains no links to openrouter
ktibow
that's the account i was using - i'll test again to clear up any doubts
CROF_OWNER
I’ll deploy it to the whole site just in case, one sec
ktibow
okay, i'll hold off until you confirm then
CROF_OWNER
alright, once it starts try again
should be ready, as far as I see it there's a literal zero percent chance this somehow routes to openrouter
ktibow
will do
CROF_OWNER
this explains the easy scaling, I should've taken a more hands on approach and not gotten so lazy and just assumed it wasn't hitting backups
for transparency, I do route qwen3.5-9b to openrouter because I'm happy to eat the cost on that one
I'll check if there are others like that real quick
deepseek-v4-flash-vision-exp will still fallback and it's fallback is configured incorrectly, mimo-v2.5-pro is incorrect
ktibow
is that all?
CROF_OWNER
yes
I removed backups entirely, the config does not contain the option to backup for any of the models I didn't list unless I'm reading it wrong
openrouter does not exist in the config for any of the models I didn't list, fallback or primary
ktibow
so the rest
- deepseek-v3.2
- deepseek-v4-flash-0731
- deepseek-v4-pro
- deepseek-v4-pro-0813
- deepseek-v4.1-flash
- gemma-4-31b-it
- glm-5.1
- glm-5.2
- glm-5.3
- glm-5.3-flash
- greg-1
- greg-1-mini
- greg-1-super
- greg-2-super
- greg-2-ultra
- kimi-k2.6
- kimi-k2.6-precision
- kimi-k2.7-code
- kimi-k3
- kimi-k3-eco
- qwen3.5-397b-a17b
- qwen3.6-27b
- qwen3.8-27b
(excluding deepseek-v4-flash-vision-exp, qwen3.5-9b, mimo-v2.5-pro)
should all be running on crof infra now?
CROF_OWNER
the greg models I believe point to openrouter, in all honesty, my goal with greg was to experiment with increasing benchmark performance with a custom mcp thing, in my testing it did work but it was marginal at best and UI was better but that's about all
so greg models are openrouter re-routes
but otherwise yse
yes*
some of those are deprecated so they'll reroute though
ktibow
but reroute to another model running on crof infra?
CROF_OWNER
yes
ktibow
both crof.ai and 67.nahcrof.com are still routing to openrouter
CROF_OWNER
can you give me any examples? I know it feels like I'm fishing for ways to hide it but I seriously can't find any physical way that it's possible
crof.ai yes
but not the 67 domain
ktibow
i'm seeing various outside inference providers like fireworks have access to strings i only gave 67.nahcrof.com
CROF_OWNER
what in the world
do you mind if I try something else? And can you check deepseek-v4-flash-0731, because as far as I'm aware I'm literally just pointing that at my spark
perhaps I just royally fucked my codebase
Shot 5. CrofAI said it would deploy "to the whole site", then that outside the models it admitted, there was "a literal zero percent chance" of routing to OpenRouter. The attestation from a minute later shows crof.ai didn't change at all, and on 67.nahcrof.com, models CrofAI says it runs itself had their images downloaded by inference providers just like last time.
A real fallback would act much differently
-
A real fallback would be debuggable: it would note in the body or header that it's active, and it could be disabled by turning off "Allow fallback servers", a switch that appends
:consistentto the model ID. Instead, normal use has no (non-accidental) signs of fallbacks, and:consistentstraight up 404s. -
A real fallback would route to the model you request, or at least one similarly intelligent. Instead, Kimi K3 and multiple other models are being routed to GLM 5.3 Flash. CrofAI explains the general phenomenon of multiple models functioning the same way away as a "set of infra":
CROF_OWNER
so if one set of infra is struggling, the similar ones will too (so k2.6-precision, ds4, and 5.1-precision should all be struggling)
The claims are questionable in the first place
Asked directly what K3 runs on, the answer was the same hardware as everything else:
Unravel
what you running kimi on now @CROF_OWNER?
CROF_OWNER
still pro 6000s like usual
their a great price per GB of vram
wait no, they're*
An RTX PRO 6000 has 96 GB, and the largest RTX PRO 6000 machine on Vast only has 8, making 765 GiB. CrofAI's K3 is 1,454 GiB at mxfp4 and ~802 GiB at Q2_K. Both quantizations would need to be split across two machines.
That's before the rest of the list. DeepSeek V4 Pro 0813 is 1.65 trillion parameters, which at the Q8_0 it advertises is 1,633 GiB: three machines. MiMo V2.5 Pro needs two. And if you add every model advertised as open weight in /v1/models, you get 8,716 GiB of weights running across 15 machines and 120 GPUs.
CrofAI's dedicated instance charges price VRAM at $0.0096 to $0.0112 per GiB-hour. Using the average of $0.01037 (which implies CrofAI charges $7.93 per box, while the cheapest 8 RTX PRO 6000 Vast box has been getting as expensive as $8.00/hr), the catalog comes to $2,170 a day.
If you switch to Vast's pricing - at least $8/hour for 8 Pro 6000s (as of writing) - you get a floor of $2,880 a day instead.
In May, CrofAI published that daily costs above $1,000, against revenue between $500 and $1,000, killed their subscription offering. Since then, prices have gone down.
It's implausible, not impossible. kimi-k3, kimi-k3-eco, deepseek-v4-pro-0813, and mimo-v2.5-pro just have to handle many expert all-to-all communication rounds
per token (92 for K3) without any NVLink or fabric between the multiple machines they run on. This
would be really interesting and novel if true, but CrofAI never claims, let alone provides evidence,
that it is.
Disclosures
I have helped CrofAI before by promoting it, debugging it, and noting when it isn't the lowest price. CrofAI has helped me before by giving me unlimited tokens. I currently buy tokens on competitors Surplus Intelligence and Inferhub and sell tokens on competitor Surplus Intelligence. I currently use a free Claude subscription. However, nobody paid for this post.
I'm stopping use of CrofAI and I recommend others do the same. I don't condone targeting CrofAI's owner as a person - they're just young and made a mistake.