mojojojo
One credit is $0.001. You buy credits once on app.nz and spend them anywhere on the network. Here they buy milliseconds.
| What | Rate | Works out as | 1000 credits ($1) buys |
|---|---|---|---|
| Browser mojojojo.js, WebAssembly |
free, unlimited | runs on the caller's machine | everything |
| CPU one core, 2 GB |
1 credit / 10000 ms | $0.36 / core-hour | 2.8 core-hours |
| GPU RTX 5090, time-sliced |
1 credit / 2000 ms | $1.80 / GPU-hour | 33 GPU-minutes |
The clock starts when your program starts. Interpreter startup, the sandbox, and the process fork are ours. Warm slots make it about 60ms end to end anyway.
Your imports are read out of your code and installed by uv into a cached environment. First time for a package set: a second or two. Billed: nothing.
Transpiling your kernels to Mojo and compiling them happens on our machines, on our clock, after your run has returned.
Every app.nz account gets 1000 credits — $1 of compute the first time it runs something here. No card, no trial clock. At the CPU rate that is nearly three core-hours, which is a lot of backtests.
One grant per account, ever. Server-side runs need an account for exactly this reason: free compute behind an anonymous endpoint is free compute per request, and it would be strip-mined within a day. The browser runtime needs no account because it costs us nothing.
| Job | Time | Cost |
|---|---|---|
| A 40ms data transform, called 1000 times | 40 s | 4 credits — $0.004 |
| A backtest that takes 3 s (native, after the first run) | 3 s | 0.3 credits — $0.0003 |
| An hour of continuous CPU work | 60 min | 360 credits — $0.36 |
| Ten minutes of GPU | 10 min | 300 credits — $0.30 |
Sub-credit runs are not rounded up. Milliseconds accrue against your balance and a credit moves when they cross the rate, so a thousand 40ms calls cost the same as one 40-second call.
Demand above what this box can serve spills over to rented capacity — RunPod for GPUs, Hetzner for CPU — and only when paid demand covers the bill. The policy is public: see the docs. Prices above do not change when that happens; a queue does, and queue time is never billed.