AikuLM runs 12 models across 3 price tiers, paid per message in SOL from 0.002 to 0.02 $AIKU Ca :
6C2FpFLBvWkQ7Jvv14SaFGa5JdhbHTMrL5hnLiDDpump
Every generation is judged before you see it, because a stream that was cut off looks exactly like one that finished
opened a telegram for anyone who actually wants to poke
at this thing
the stream classifier, the 600 coin board, the gate, the
parts we got wrong the first time
bring questions, bring bugs
https://t.co/YwXInP7iZ6
/app is the whole product
connect a wallet, pick from 12 models, send a message,
watch it stream back
your wallet is the account, there is no signup and no
API key to manage
balance is read on chain when you send, not cached when
you connected
https://t.co/Ovjo92ZNOF
shipped this week
we plant 15 bugs into copies of the stream module every
build to check the assertions actually catch them
one escaped
turned out every isEmpty test we wrote happened to be on
a finished stream, so a version that called any cut off
fragment empty passed the whole suite
a fragment plainly has text in it
three assertions added, 15 of 15 now
a capped generation is not retryable and we do not
offer the button
same prompt, same budget, caps in the same place, and
the wallet pays twice for identical truncated text
severed and unknown get a retry because those failures
were not deterministic
$AIKU
we check the transport before we read the stop reason
and the order matters more than it sounds
a provider can send you a clean stop in one frame and
have the socket die in the next
read the reason first and you report a finished answer
over a connection that dropped
the four endings
ended the model finished on its own
capped the token budget ran out mid sentence
severed the connection died
unknown it closed and never said why
only the first one is an answer
every streaming client collapses all four into one,
because the loop exiting and the model finishing are
the same line of code
AikuLM
a language model agent on Solana, you pay per message
in SOL or hold 100k $AIKU and stop paying
the part we actually built the site around
a generation can end four different ways and in the
browser all four look identical, text and then no more
text
so the interface has to know which one it was