Inference that waxes.
Never wanes.
One key, a deep roster of frontier models, and a plan priced by the lane. LunaRoute-hosted inference is metered in lane-hours; token usage on routed providers draws down a prepaid balance that never expires.
;;!;;!!!!!!!!!!!;!!;;;;;
!!!!!!!!!!~~~~~~!~~!!~!!~!~!!!!!!!!!!;;;
!!!!~~~~~~~~~~~~==~~=~=~~~~~~~~~~~~~~~~!!!!!!!;!;;
!!!!~~~~~~~==~=======================~==~~~~~~~~~~!!!!!!;;;;
;!!!~~~~~~==============+=++=+==+====+=============~~~~~~~~~!!!!;;;;
!!~!~~~~==========++==++++++++++++++++++++++++==+++=======~~~~~~~~!!!!!;;;
!!!!~~~=~====+=+++++++++++++***+++++***++++++++++++++=====+======~~~~~~~!!!!!;;;
;!!~~~~======+===+++++++***+++**++********++***+++**++*+++++++=+=========~~~~~!!!!;;;;
!!!~~~~=====+++++++*+*+**++**************************++*++***++++++++==+=====~~~~~~!!!!;;;
!~!~~=====++++++++*****************xx*******xx**xx**************++*+++++++======~=~~~~~!!!!;;;
!!!!~=~====+++++++++**********xx*xxxxxx****xxxxxxxxxx****xx*********++++*++++++++=====~=~~~~!!!!!;;;
;!!~~~====+++++++**********xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxx*******++++++++++======~=~~~!!!!!!;;:
!!~~~=====+++++++******xxx*xxxxxxxxxxxxxxxxxxxxx%%%%xx%xxxxxxxxxxxxx**********++*++++++=======~~~!!!!!!;;;
!!~~~~====++++++*******xx***xxxxx%%xx%%xxxxxx%%%%%%%xx%%%%xxxxxxxxxxxxx******x*******++++++=+====~~~~~~!!;!;;;
!!~~~=====+++++**+****xxxxxxxxxxxxxxxx%%%%%%%%%%%%%%%%%%%%%%%%%%%xxxxxxxxxxxxxxx*********+++++=+======~~~~!~!;;;;:
!~~~~====++++++******xx*xxxxx%x%%%%%%%%x%%%%%%%%%%%%%%%%%%%%%%%%%%xxxx%%xxxxxxxxxxxxxx****+*++++++=======~~~~!!!;;;:
!!~~~===+++++++******xxxxxxx%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%xxxxxxxxxxxxxxx******+++++=======~~~~~!!;;;;:
!!~~=~====++*++*****xxxxxxxx%%%%%%%%%%%%%%%%%###%%#######%%%####%%%%%%%%%%xxxx***xx****************++++++====~~~~!~!!!;;;:
!!~~~~==+==+*+********xxxxxxx%%%%%%%%%%%############%%%%%##%%%####%%%%%%%%xxxxxxx********************+++++++====~==~~~~!!;;;::
!!~~~~==+=++*+****xxxxxxxxxxx%%%%%%%%%%%%############%############%%%%xx%%xxx***xx********************++++++++====~==~~~~!!;;;::
!!~~~====++++*****xxxxxx%%%%%%%%%%%%%%%########################%%%%%%xxxxxxx**********++*******+++****+*****++++======~~~~~!!!;;;:
!!!~~=====++++*******xxxxx%%%%%%%%%%%##%#########################%%%%%xxxxx*******++++++++++++++++++++++++++**++++====~=~~~~!!!!;;;:
!!!~~=====++++*******xxxxx%%%%%%#%%%%%#################@@@@@#####%%%%%%xxxx*********+++++++===+++++++++++++++**+++++======~~~~!!!!;;;:
!!~~~~=+=++*****x**xxxxxxx%%%%%%%%%################@@#########%%%%%%%xxx**********++++++==++===+++++======++++++*++++======~~~~!!!!;;;;:
!!~~=====+++**+**xxxxxxxxxx%%%%%%%#########@#######@@@@@@@@@#####%%xxxxxxxx****+++++++++++++++++==========++==++++++++++++===~~~~~!!!;;;;:
!!~~~====+++**+**xxxxxx%xxx%%%%#%%%#######@@#@@#@@##@@@@@@@@#####%%%xxxxxxxx***++++++++++====+=+=============+==++++++++++++===~~~~~!!!;;;::
!!~~~~~=~==++++****xxxxx%%xx%%%%%%%##############@@@@@@@@@@#####%%%%x%%xx********+++++++=============================+++++++=====~~~~!!!!;;:::
;!!!~~~~=====+++**xxxxx%xxx%%%%%%%%%#####@@###@@@@@@@@@@@@@@@####%%%xx%xx***x****++++++++++============~~============+++++++=++====~~~~~!!!;;:::
!!!!~~~~~====+++***xxx%%xx%%%%%%%%%#####@@@#@@@@@@@@@@@@@@@@#####%%xxx%xx*********++++++++=============~~~~~===~~======++++++=++====~~~!~!!;;;::
;!!!!!!~~~~~===+++***xxxxx%%%%%##########@@@#####@@@@@@@@@@@@@@#%%#%%%%xx******+**++++==================~~~~~~~~==========++++++++=~~~~~~!!!!;;;::
;;;!!!!!~!~~~=~=+++***xxxx%%%%%%##########@@#####@@@@@@@@@@@@@@@%%%#%%%%xx******+**+++==========~~====~=~~~~~~~~~~==========+++++++==~~~~~~!!!!;;::,
;;;;;;;!!!!!~~====+**xxx%%%%%%%%%%#####@@@##@@@@@@@@@@@@@@@@@####%#%%%%%xxxxx*****++++++++++===~~~~~~~~===~~~~~===~~=========+++++++==~=~~~~!;;!;::,
;;;;;;;;!!!!!~~~===+***xxx%%%%%%%%%#####@@###@@@@@@@@@@@@@@@@@####%#%%%%%xxxxx*****++++++++++===~~~~~~~~===~~~~~===~~=========+++++++=====~~~!!;;;:::,
;;;;;;;;;;!!!~~~~==++***xx%%%%##%#########@@@@@##@@@@@@@@@@@@@@######%%xxxxx****+++++++++++++======~~~==~~~~~~===~~============++++++===~~~~!!!!!;;;:,
;;;:::;;;;;!!!~~~~=+++****x%%%%#########@@@@@@@@@@@@@@@@@@@@@@@#####%%%%xxxxx******+++++++++===========~~~~~~==~~~============++=+++++===~=~~~~!!!;;;:,.
;::::::;;;;!!!~~~~==++*+*xx%%##########@@@@@@@@@@@@@@@@@@@@@@@@@####%%%%xxxxx******+++++++++===+========~~~~~==~~~============++=++++++====~~~~!!!;;;::.
;::::::;;;;!!!!!~~====++***xx%%##########@@@@@@@@@@@@@@@@@@@@@@@@######%%%%xxx***xx*+++**+++++========~~===~~~===~~==============++++++====~=~~~!!!;;;::,.
::::::::;;;!!!!!~~====++***xx%%##########@@@@@@@@@@@@@@@@@@@@@@@@#######%%%xxxx**xx*+++***+++++++================~~==============++++++=+==~=~~~~!!;;;;,,.
:::::::::;;;;!!!~~===+++**xxxx%%%#######@@@@@@@@@@@@@@@@@@@@@@@@@@######%%%xxxxxx*****+*+++++++++++==============~~~==========++++++++++===~=~~!!!!!!;::,.
:::::::::;;;;;!!!~~===+++**xxxx%%%#######@@@@@@@@@@@@@@@@@@@@@@@@@@#######%%%xx%xx********+++++++++++++========================++++++++++=====~~~!!!!!;;:,.
::::::::::;;;;!!!~~=~==++***xx%%%%#######@@@##@@@@@@@@@@@@@@@@@@@@@@@@###%%%%%%%%xxx*xx****+++++++==++++===================+===++++++++++=====~~!!!!!;;;:,.
::::::::::;;;;!!!~~=~==++***xx%%%%#######@@@##@@@@@@@@@@@@@@@@@@@@@@@@@###%%%%%%%%xxxxxx***+++++++++++++++======++========+++==++++*+++++=====~~!!!!!;;;:,.
:::::::::;;;;;!!!~~~===++***xx%%%%%%########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####%%%%%%xxxxxxxx***+++*****++++++++++==+++===+++++++++***++++++=====~!~!!!;;;:,.
::::::::::;;;!!!~~~==++++***x%%#####%####@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@#####%%#%%%%%xxxxx**********++++++++++++==+++=+++++++++****+++++=====~~~~!!!!!;;:,.
:::::::::::;;!!!!~~~===+++***x%%#####%####@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@#########%%%xxxxxxx********+++******++++++++++++++++++****+++++=====~~~~!!!!!;;:,..
:::::::;;;;;;;!!~~~~===++**xxxx%%############@@######@@@@@@@@@@@@@@@@@@@@@@@#########%%%%xxxxxx********************+++++++++++*****+++++++====~~~~~!!;!;;:,.
::::::;;;;;;;;!!~~~~===++**xxxx%%%###########@@######@@@@@@@@@@@@@@@@@@@@@@@@#########%%%xxx%%xx**xx****xxx**************++*******++++++++====~~!~!!!;;;;:,..
;:::::::;;;!!!!!~~~====++***x%%%%%###%%######@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######%%%%%%%%xxxxxxx**************xxx**xxx******+++++===~==~~!!!;;;;::,.
;:::::;:;;;!!!!!~~===++++***x%%%%%%##%%######@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######%%%%%%%%xxx%xxxxxxxxxxx*****xxx**xxx****+*++++====~=~~~!!!;;;;::,.
;;;;;;;:;;;!!!!!~=~==++++**x%x%%%%%%###%%#######@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########%%%%%%x%%%xxxxxxxxxxxxxxxxx**********++++======~~~~~!!!!;;;:,.
;;;;;;;;!;!!!!!~=~=++++**xx%x%%%%%%%##%%%######@@###@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######%%%%%%%xxx%%%xxxxx%%%xx***********++++======~~~~!!!!!;;;:,.
;;;;;;;;!;;!!~~~==++++***xx%x%%%%%%%###########@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@######%%%%%%#%%%%%%xx%%%%%***xxx**+++++++++====~~~~!!~!!;;;;::,.
;;;;;;!!!;!!~~~~==+++**xxxx%%x%%%%%#%##%#######@@@##@@@@@@@@@######@@@@@@@@@@@@######@@@###@@@###%%%%%%###%%%%%%xxxxxxxxx*x****+++++++====~~~~!!!;;;;;;::,..
;;;;;;!!!!!~~~~~==++***xxxx%%xx%%%%%%%#%%#######@@##@@@@@@##@######@@@@@@@@@@@@######@@@###@#####%%%%%%##%%%%%%xxxxxxxxxx******+++++++====~~~!;;;;;;:;:::,..
:;;!;;!!!~~~~~====++******xxxxxxxx%%%%%%%###########@@@######@@@@@@###@@@###@@@###@@@@@@@########%%%###%%%%%%xxxxxxxxx*x********++=++==~~~~!;;;;;::::::::,..
;;!!!!!!!~~~====+++******xxxxxxxx%%%%%%%%############@######@@@@@@###@@@###@@@###@@@@@@#########%%%###%%%%%xxxxxxxx*x*********++==+==~~~~!;;;:::::::::::,.
:;!!!!!!~~~=====++++******xx%%%xx%%%%%%%#%%##########################@@@@@@###@@@#################%#%%%%%%x%%%xxx**xx******++++++++==~!!;;;;;:::,:,,,,::,.
:;!!!!!~~~=====+++++******xxx%%xxx%%%%%%%%%%%########################@@@@@@#####################%%%%%%%%%xx%%xxxx**x*******+++++++==~~!!;;::::,,,,,,,,::,,
;!!!!~~~=====++++++********xxxx%xxx%%%%%%%#%%%##%%%##################################%###%%%%%%%%x%%%%x%%xxxxxxx*********+++++===~~~!;;;;:,,:,,,,,,,,,,,
;;!!!~~~======+++++**********xxx%xx%%%%%%%%%%%%%%%%#######################%%%##%##%%%%#%%%%%%%%xxx%%%xx%xxxxxx***********+++++=~~~~!;;;;::,,,,.,,,,.,,,,
;;!!!!~~~====+++++*******xxxxxxxxxxxx%%x%%%%%%#%%%%%%######%%%#######################%%%%%%%%%%%%%%xxxxxxxxxx*x****++++++++====~!!!;;;::,,,..,....,,,,
::;!!!~~~~====++++++++*******xxxx%%xx%%%%%xx%%%%##%%%###%%%######%%#####%###%%%%%%%%%%%%%%%%%%%%%%%xxxxxxxxx******+*++++=====~~!!;;;:::,,,,.......,,,,
::!!!~~~~~====++++++++*******xxxxxxxx%%%%%xx%%%%##%%###%%%%%%###%%###%%%###%%%%%%%%%%%%%x%%%%%%%xxxxxxxxxx*****+++++++=====~~~!;;;:::,,,.........,,,
,,:!!!!!~~~======+++***+++++++*****xxxx%%%%%%%%%%%%%%%%%%%%%%%%%##############%%%%%%xxx%%xxxxxxxxxxxxxxxx********++++===++==~!;;;::::,,.,.......,,,,
,:;!!!!~~~~~=====++++++==++=++++++**xxx%%xxx%%x%%%%%%%%%%%%%%%%%%%%%###%%%%%%%%%%%%xx%xxxxxxxxxxxxxxxx******+***+++====+==~!!;;:::,,,.,,.......,,,
,,:!!~!~~~~=====++++=========+++++***xxx%%%%%%%%%%%%%%x%%%%%%%%%%%%%%%%%%%%%%%%xxx%xxxxxxxxxxxx**********+**++++++======~!!!;;;::,,,,.........,,
.,,:!!!!~~~~=====++===~~~~~=====++++**xxxxx%%%x%%%%%%%xxxxxxxxxxxxxx%%%xx%%%%%%xxxxxxxxxx*xxxxx********++***++++=======~~!!!;;;:,,,,.........,,,
.,:;;!!!~~~=========~~~~~~~~~~====+++*xxxxxx%xx%%%xxx%%%%%%%%xxx%%%%%xxx%%%%%%xxxxxxx*xx***xxx**********+++++==+=+==~~~~~!;;;:::,,,.......,,,,
.,:;!!!~!~~~========~~~~~~~~~~~~==+++**xxxxxxxxxxxxx%%%xxx%%xxx%%%xx%%%xxxxxxxxxxxxx*xxx************+++++++===========~!!;;;::,,,,,...,,,,,,
.,:;;!!~!~~~=======~~~~!!!~!!~~~===++****xxxxxxxxxxxxxxxxxxxxxxxxxx%xxxxxxxxxxxxx**xxx***********+++++++++========~=~~!;;;;::,,,,,.,,,,,,,
.,:;;!!!~~~~~====~~~~!!!!!!!!~~~==++**xxx*xxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxx***xx**********++++++++++========~~~~~~~!!;;;:::,,,,,,,,,,,
.,:;!;!!!!~~~===~=~~~~!!!!~~~~~~~+++******xxx**xxx**xxxxxxxxxxxxxxxxxxx**xxx********++*****+++++============~~~~~~~!!!!;;;::,,,,,,,,,,
.,:;!;!!!!~~~~=~==~~~~!!!!~~~~~~+++************xx*****xxxxxxxxxx***xxx**xx********+++++**+++++============~~~~~~~!!!!;;;::::::,:,,,,
.,:;;!!!!!~!~~~~=~~~!!!!~~~~~==+++**************************************++*****++***+++++++========~~~=~~~~~!!!!!!;!!;;::;::,:,,,,
.,:;;;!!!!~~~~~~~~~~~~~~~~~====++*+++++++**++*************************++*****++++++++++==========~=~~~~~~~~!~!!;;!!;;;:;::::,,,,
.,::;;;;!!!~~~~~~~===~~~~====++++++++++++++++****+++*****++++++++++++++***+++++++++++=========~~~~~~~~~~!!!!;;;!;;;;:::::,,,,,
,::;;;;!!!!~~~~~~~==========++++==+++++++**++***+++++++**+++++++++++++++++++++++=+==========~~~~~~~~!!!!;!!!;;;;;:::,,,,,,
,:::;;;;;!!!~~~~~~==~~=======+====++++++++++++++++++++++++++++++++==+++++==++=======~~====~~~~!!~~!!!!;;;;;;;::::::,,,,,
::::;;;;!!!!~~~~~~~~~~~~==========+++++++++++++++++++++++++++++===++++==++=======~~==~~~~~~!!~!!!!;;;;;;;;:::::,,,,,
:::;;;;;;!!!!!!!~~~~~~==~~~~============+++++==++++=====++==++===========~~~~~~~~~~~~~~~~!!!!!!;;;;;;;;;:::,,,,,,,
:::;;;;;!;!!!!~!!!~~~~=~~==~~==~~====================================~~~~~~~~~~~~~~!!!!!!!!!;;;;;;:::::,:,,,,,
:::;;;;;!!!!!!~~!~~~~~~~~=~~===~===~========================~~~~~~~~~~~~~~~~~~~~~!!!!!!!!;;;;:::::::,:,,,,
,:::;;;;;;;;!!!!!!!!!!~~~~~~~~~~~~~~~~~======~~~~=~==~~====~~~~~~~~~!~~!!~~~!!!!!!!;;;;;;;;::::::,:,,,,,
,:::::;;;;;;!!!!!!!!!~~!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!~~~~!~~!!~~!!!!!!!!!!;;;;;:::::::,:,,,,,,
,::::;:;;;;;!!!!!!!!!!~!!!!~!~~!!!~~~~~~~~~~~~~~~~~!!~!~~!!~~!!!!!!!!;;!!;;;;;;;:;::::,:,,,,,,
,::::::::;;;!;!!!!!!!!!!!~~~~~!!!!!!!~~~!!!!~~~~!!!!!!!!!!!!!!!;;;;;;;;;:::::::::,,,,,,,,,
,,::::::::;;;;;!!;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;!!;!!;;;:;;:;;;:::::,:,,,,,,,
,,,::::::;::;;;;;;;;;;!!;!!;!!;!!!;;;;;!!;;;;;;;;;!;;;;;;;;;::;:;::::,,,,,,,,,,,
,,,:::::::::;;;;;;;;;;;;;;;;;;!!;;;;;;!;;;;;;;;;;;;;;;;::::::::,:,,,,,,,,,
,,,,,,::::::::::;:::;;;;;;;;:;;;;;;:;;;;:::;;:::::::::,::,,,,,,,,,,,
,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,
,,,,,,,,,::::,::::::::::::,,::::::,,:,,,,,,,,,,,,,
,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
One endpoint.
More models than moon phases.
Pick any model on the roster — the router dispatches every request to the fastest healthy US provider serving it, and fails over before your agent notices. New models dock regularly; your endpoint never changes.
your agent ------> +---------------------+
| LUNAROUTE CORE |
POST /v1/chat | |- latency probes |
model: glm-5.2 | |- health checks |
| '- auto failover |
+----------+----------+
+-----------+----------+----------+-----------+
v v v v v
glm-5.2 kimi-k2.7 qwen-3.7 minimax deepseek
plus m3 v4-pro
…and more, docking monthlyrates per 1M tokens, mirror the fireworks.ai standard tier. bigger workloads, talk to us.
Plans, priced by the lane.
Pick a monthly plan. Each includes a set of concurrency lanes plus background lanes for batch work, on best-effort or guaranteed-start scheduling (realtime / flex in the response headers). Go over your allowance and you're never blocked — traffic gracefully degrades to a lower QoS tier and keeps running. NO LOGS, every model, one endpoint.
..........,,:;
...,.........,.,::;!
. .,,...,.....,,:;!!~
.,.......,,.,,::;!!~
.......,.,,..,,:;;!!;
.,... .,,,,:;;!!;:
.,.. .,::;;!;,:
.... ,,:;;!;::
..,.... .,,:;!!!;
...,.....,, ..,:;;!~~
.....,,.,., ...,,;;!!~=
.,...,,.....,. . .....,,:;;!~=
,..... .,,.....,...,,:;;!~=
.... ....,,. .::;;!~
.... ...., ,:;;!~
..... ....,.. .,,::;~
.......,.....,,,.,..::;!
.....,....,.....,,:;
............,,
.....,,,::;;!!
.......,,,::;;!!~~=~
...,,.,,.,,,:;!!!~~===+
.,...,.,,.,,;:!!!~=~~~=+
.,,,,,.,,.,,::;;!!~!!;;!~=
.,... ....,,:;!!!!;;;:;;!+
,. .,,:;;!!!!;::;;;~*
... ,,:;;!~~!!;:;;!!=
.... .,,:;!!!~!!!!!~~+
..., ,,::;!!!~~=~~~~=x
,..,, .,.,,:;;!!~~==++*x*
...,.........,,.,::;!;!~==++****
., .,..,..,.,.,::;;;!~~==++*+=
. ,.,,,, ,:;;;!!~==++*+
. ...,, .::;!!~~~==++
. .,.,.,...,,:;;;!!~===
....,..,,,.,,,::;;!!!~~~
........,,..:,:;;!!!
.,.,....,,,::;
:;!!~=======~~
,:;!~==+=*+**+***+=~
,:;!!~==+**x*xxx*x*x**+=
,:;!~~=+**xxxx%xxx*xx%x**=
,:;~~~=+**xxxxxx+++=+++*xx*+
,,::!~=++**xx%x**+======+*xx*+
, .,;~++**xx%%x**========+*xx*=
. ,:!=+*xx%x%xx**=+=+=++**%%*+
.:!=++xxx%%%%xx**+**+*xxx%*+
,:!++*xxxx%%##%%xxxxxx%%%xx+
. .,:!==++*xx%%%%##%#####%#%%xx+
,,,:!!~=+**xxxxx%%######%#%%x=~~
:,:;!~==++**xx%%%%%%%%%%%%x+~!=
,:;!;;;~+*****xx%%%%x%%xx+~!!
,:;;,,;~++****xxxxxxx***=~~
.,::;;!~~=++*++******++=+~
,,,;;!!!====++=+++++==~;
,,,:;;!~!~~====~~~!;
,,,:;;;;;!;;!;
!~~===+++===~!
!~+++**x*xxxx*+++=~!
!~=*+*xxxx%x%%xxxx***+=!
~=+*xxx%%%xxx%#%%%%%x**+=~
~=+*x%%xx***+***x%#%#%xx**=~
!=+*xx%%*+*++++***x%##%%%x*+=!
.!+*xx%%x*+++++++*xx%#@#%%%*+==!
,!+*x%#%x**+*+****xx%##@#%%x+~!~
,~+*x%%##%xxxxxxxxx##@@@##%x+!;!
;=+*x%%%#@##%%%%##@@@@@##%xx+!;;
!=+*x%%%#@@@@@@@@@@@@@##%%xx*~!!
!=+*x%x%##@@@@@@@@@@@@%x*+++*=~!
;~=+**x%%%###@@#@@#@#%*+=~==*=~;
!;~+*xxx%%%####@@###x*==~==+=!
!:!*+*xx%%%%#%%#%%%%*+++++~!
!!=++*x*x%x%xx%xxxxx**+=~!
;!===+******x****+++==!;
:!~~==+++++++++=~!!:
;!!~~~~~~~~!;:
Every lane-hour and token, accounted for.
Your plan covers LunaRoute-hosted inference by the lane. For providers we route to that charge by the token — OpenAI, Anthropic, and friends — usage bills out of a prepaid wallet, live in the admin: every request, every token, every lane-hour against your allowance. No surprise invoices, no "contact sales to understand your bill".
$ lunaroute-cli ledger --tail 5 TIME(UTC) MODEL TOK_IN TOK_OUT LANE_S QOS 14:02:11 glm-5.1 12,408 3,211 3.4 realtime 14:02:09 qwen-3.6-plus 48,116 1,094 12.1 flex 14:01:55 deepseek-v4-pro 8,733 6,402 7.8 flex 14:01:48 glm-5.1 4,201 887 1.2 realtime 14:01:32 minimax-m2.7 402,338 2,114 88.6 ballast ───────────────────────────────────────────────── MTD: 41.3 / 100 lane-hours (Ultra) 41%
Token usage on routed providers draws down a prepaid balance — and it never expires. Whatever you don't burn rolls over, on every plan. Arm auto-recharge with a hard monthly cap and a bot can never drain the card mid-refactor.
$ lunaroute-cli config set auto-recharge \
--top-up 25 \
--when-below 5 \
--max-monthly 100
✓ auto-recharge armed.
# your agent will never starve. your card
# will never be surprised. both can be true.Extra thrusters. Strictly optional.
The core stays simple: one key, metered inference. These bolt on top for teams that need them — each priced separately, none required.
. . . .. ...
..... . .. .. ... . ... .. .
..... . . . ... .. .. . .. ..
...... . . .. ... . . .. .. .. . . . . .
...... .... ... . .. . ... .. .. .. .. .. .
..... .. . ... . ..... .... ... .. . .. ..... . ... ..
,..... . . . .... .... .... .. ....... .... ... . .
,,...... .... .... .. ... .. ... ... .... .. ...... ..... . . .. .
,,....... ...... ..... ........ ... ............ ...... . .. .... . . .
,..... .. .. ............... . ..... . ......... ..... .. .... ..... .
,.. . ............... .......... .............. .... .......... .. . .. . .
.. . . ..... ......... ......... .. .. . .. .. ..... .. ... .
. ... . ............................ .... ... .. ..... ... ......... ..
. .................. ................ .. .... ... ............ ... .. .
.................. ................ .. .... .... ............ ... . .
. ... ................... .. ...... .. ...... ..................... ....
......... ....................... ...... .................. .......... ..
......... .... .......... .... ..... ............ .. .......... .. .
. .............. ...... ... ......... .. ............. ... ..... .....
............... ....... ... ......... .. ............ .... ..... ...
... .. ..... ....... ..................... .................... ....
.............................. ... ......... ............. ...... .....
...................... .. ... ......... ............. ..... .....
........... ..... .... .. ...... .. .......
. .... ........ ... .. ...........................
........ .. ...... ............ .. ....
......... . ..... ............. .. ....
............. . .... ......................
. ............ .................... .... .
........... ................... .... ..
. .... .... ..................... ....
. .... .... ..................... ....
. . .... .................... ....
,. ......... ... ...................... ...
,. ............. .. ....................... ...
,.. ................. ..........................
,.. ................. .. ... ............. .
,,... . ..................... ... ... ............. ..
:,,,... .. . .. .......... .. ..... ..... ............
:,,,,.. .. . .. .. ...... . .............. ...........
:,,,,..... . .. .. ...... . .............. ...........
,,,,,..... .......... .. .. ......... ........ ............... ... .
,,,,...... .......... .. .. ......... ....... ............... ... ..
,,,,,... ..... .............. ........ ............. ..... .... .. .. .. ..
,,,,.,... . ..... .......... ............ ........ .................... .. .... .
.,,.,... . ..... .......... ............. . ......... .................... . .. .... .
..,,,....... ... ............... ... ................................... .... .. ...
...,....... ..... .. .. ... .......... . .... ... ......................... . . ... . .
........... ..... .. .. .. .......... ..... ...... ... ......................... . . .... .
........ .... .. .............. ....... ...... .......... .................... .... ... .........
.... .... ..................................................................... .. ................ ........ ... .
.... .... ................... ............................................. .. ................ ....... ...
..... ......... .. .... ........................................................... .. .... ..... ...... .
.... ......... .. .................................................... .. .... .... ...... .
..... .... ... . ........... ............... .... ....... ..... ........ .... .. .. ....
.... ........... .. .. ....................... .............. ...........
...... .......... . .. ..................... ......... .... .. ....... .
..,... .. ... ........................... ............ .. ...
..... .... . ............... .. . ................. ... .... .
.,.... .. ... . .................... ...... ....... . . ... .
,,,... ... .. . .................. ...... ....... . . ... .
,.,.... . .. .................. ....... ............ . .
,..... . .. .. ... ............. .......... .......... . .
,..... . .. .. .... ............... ............ .......... . .
...... ..... ................ ....... ..... ..... .. ... .. ...
,.... . ..... ....................... ... .... .... . .
,... . .. .... ......... ........................ .... ....... .. . .
,... . .. .... ...... .. .......... .. ..... ............. . .. ..
.... . .... .. .... .... .. .......... . ...... ............ . .. ...
... . .... . .. .. ......... ................ ... ...... .. .. ... ... . .
... .... .. ..... ............ ........ ....... ..... . ..... .. .....
.. .. . ...... . ..... .. ... ...... .......... .... .... ...... ..... . ..
.. . ........ .. . ..... .......... ..... . ... .. ... . ..
.. .. .... .. ...... .. ... ..... .. .. ... .. ... .. . .. . .
. . .. .. . ........ ... ..... .. ........ ... .. .. .
.. .. . ... .. .. . ... ....... ....... ....... ..
. . .... . .... .... .. .. . .. .. . . . .
. . . . . ......... ... . ..... ... .. . ...
. .. ... ..... . . .. .. . ..
. . . . . . . . . . . .
.. .. . .. .. . .... ..
. .
What happens on LunaRoute
stays nowhere.
Request and response bodies are processed in memory and never written to disk — not by us, and not by our providers, contractually. Your prompts, your code, your agent's questionable variable names: gone the moment the response ships.
$ grep -r "your_prompt" /var/log/lunaroute grep: no matches found (and there never will be)
Inference on US soil. All of it.
Every model on LunaRoute is served by US-incorporated providers running US datacenters. Your traffic never leaves the country. We looked into hosting on the actual moon — legally complicated. Sticking with Virginia and Oregon.
Ship it in 30 seconds.
OpenAI-compatible API. Point your agent's base_url at us and walk away.
$ curl https://api.lunaroute.ai/v1/chat/completions \
-H "Authorization: Bearer $LUNAROUTE_API_KEY" \
-d '{ "model": "glm-5.1", "messages": [{ "role": "user", "content": "fix my tests" }] }'# works with any OpenAI-compatible agent api_base = "https://api.lunaroute.ai/v1" api_key = env("LUNAROUTE_API_KEY") model = "glm-5.1" # swap models anytime
Frequently anticipated questions.
Ready for liftoff?
Plans from $24/mo. Prepaid token balance never expires and rolls over — on every plan. Cancel anytime.
;;!;!!!;!!!!!!!;!;!;;;;;
;!!!!!!!!~!!~!!!~~~!!~!!~!~!~~!!!!!!!;;;;;
;!!!!!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!;;;;
!;!!~!!~~~~~~~~~~~~~=~~~=====~===~=~~=~~~~~~~~~~~~~~~!!!!!!!!;;;
;!!!~~~~~~~===~=~====================================~~~~~~~~~~!!!!!!;;;
!!!!~~~~~~~~=~============+++==+++=+++++======++=========~==~~=~~~~!~~!!!;!!;;
!!!!~~~~~~~~========+++++++++++++++++++++++++++++++++===++++======~=~~~~~~~~!!!!!!;;
!!!~~~~~=========++=+++++++++++++++**+++++++++**+++++++++++++++++++=======~~~~~~!!!!!!!;;;
!!!!~~~~======++===++++++**++*++**++*****************+++++++**+++++++====+====~=~~=~~~~~!!!!!;;;
!!!~~~~~=========++++++++***************************************++++++++++++=========~~~~~~~!!!!;;;;;:
!!!~~~~=====+==+++++++++**************xx******xxxx****xx*****************++++++++++++=====~=~~~~~~!!!!!;;;
!!!~~~======++=+++++++***********xx****xxxx**xxxxxxx**xxxx*****************++**++++++++++=+=====~~~~~~!!!!!;;:
!!~~~~=~===++++++++++***************xxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxx*****************++++++=====~=~~~~~~~!!!!;;;:
!!~~~~~=====+++++*++*******xx***x**xxxxxxxxxxxxxxxxxxxxx%%xxxxxxxxxx**xx**xx************++++++++++======~~~~!!!!!;!;;;
!!!~~~~===+=+++++**+*********x****xxxxxxxxxx%%xxxxxxxxx%%%xx%%xxxxxxxxxxxxxxxxx**xxx**********+++++++++======~~~!!!!!!;;;:
!!!~~~~~==+++++++************xxx*xxxxxx%xxxxx%%%%%xxxxx%%%%%%%%%xxxxx%%%xxxxxxxxx***xxxx*********+++++++++=======~~!!!!!!!;;;:
!!~~~=====++++++++**********xxxxxxxxx%%xxxx%%%%%%%%%%%%xxx%%%%%%%%%%%%%%%xxxxxxx%%xxxx***************++++++=++===~~=~~!~~!!;;;;:
!!~~~~~===+=++++++*****x****xxxxxxx%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%xxxxxxxx**xx*********++++++=++====~=~~~~!!!;;;;;:
!!~~~~~=====+++++******xx*xxxxxxxxxx%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%xxxxxxxxxxxxx**********+++++=++======~~~~!!!;:;;::
;!~~~======++++*+******xxxxxxxxxxxxxxxxxxxxx%%%%%%%%%%%##%%####%%###%%%%%%%%%%%%%%%%%%%xxxxxxxxxxxxxxx********++++++=++======~~~!!;;;:::::
!!~~~=====+=+++++*********xx*****xx**xxxxxxx%x%%%#%%%%%###%%%%%###########%%%##%###%%%%%%%%xxxxxxxxxxxxxx*******++++++=+++===~~~~!!;;::::,,,
!~!~~=====+++++++*****************x*****xxxxxxxx%%%%%%%%###%%%#############%%%######%%%%%%%%%%xxxxxxxxxxxxx*******++*++++++++==~~~~!;;::::,,,,
!!!~~=====++++++*************************xxxxxxx%xx%%%%%#%################%%%#####%%%%%%%%%%%%%%%%%%%xxxxxxxx*******+++++++++===~~~!!;;::::,,,,,
!!!!~~=====+++**+**++++++***++++***********xxxxxxxxxx%%%%%%%%#################%#####%%%%%%#%%%%%%%%%%%%%xx%%xxxx*******+++++++++====~~!!;;::,,,,,.,,
!!!~~~====++++**********+++++++++**+++***********xxxxxxxxx%%%%%##@@@##################%%######%%%%%%%%xxxxxxxxxxx**xxx******+++++++===~~!!;;::,,,,..,,
!!!~~~~===++++***+*+++++++++===++++++++++**+++******xxxxxxxx%%%%%##@@##########################%%%%%%%%%%x%xxxxxxx***xxxx*****+++++++===~~!!;;::,,.,..,,
!!!~~====+++++++++++++++==+++++++++++++++***+++*********xxxxxx%%%%%##@############@@@#########%%%##%%%%%%%%%%xx%%%xxxx*********+*++++==+==~!!!;;::,,,,....
!!!!~=====++++*+++++==+++++++=====+++++++++++**+++******xxxxx%xxx%%#####@@@@@###@@@@@@############%%%####%%%%%%%%%%xxxxxxxxx*****++++++==+==~!!;::::,,,....,
;!!~~=====++++*++++++==+++++++=====++=+++++++++*+++******xxxxx%xxx%%%#####@@@@@@#@@@@@@######@@####%%%######%%%%%%%%%xxxxxxxxx*****+++++==++=~~!!;::::,,,....,
!~~~~~===++++++++++=++====================+++++++++********xxxx%%%%%%%#####@@@@@@@@@@@######################%%%%xx%xxxxxxxxx********+++++++===~~!!;;::,,,.....
;!~~~~~===+++++++===+++====================+++++++++********xxxx%%%%%%%%####@@@@@@@@@@@@@@#@#################%%%%%x%xxxxxxxxxx*******+++++++====~~!!;;::,,,,...,
!!!~~~====+++++++====++===================++++++++++++++****x***x%%x%%%%######@@@@@@@@@@@@@#@@@################%%%%%%%%xxxxxxx*xx*******+++++======~!;;:::,,,,.,.,
;!!~~~====+++++++====++=====================++++++++++++++***x***x%%x%%%%######@@@@@@@@@@@@@@@@@@###############%%%%%%%%%xxxxxxx*xx*******+*+++======~!;;::::,,,.,,,
!!!~~~====+++++==++===========================+++++++++++++*****xxxxxxx%%%####@@@@@@@@@@@@####@#####@@@############%%%%%%xxxxxxxxx**x****++++++=====~~~!;;;;::,,,,,,
!!!~~~~===+++++==++======~======~===~~==========++++++++++++*****xxxxxxx%%%####@@@@@@@@@@@@####@@@###@@@#############%%%%%xxxxxxxxx**x*****+++++======~~~!;;;;::,,,,,,
;!!~~~~===++++++==+=++=============================+++++++********xxxxx%%%%%%%##@@@@@@@@@@@@@@@@@@@@@@@@@@####%%%%%###%%%%%xxxxxxxxxx********++++++====~~~~~!;;;:::,,,,,
;!~~~~===+++++++=+=++==============================+++++++********xxxxx%%%%%%%##@@@@@@@@@@@@@@@@@@@@@@@@@@@####%%%%###%%%%%xxxxxxx*****+++++++++++++====~~~~~!!;;::::,,:
;!!~~~~===++++++++++=======~~====================+++++++++******xxxxxxxxx%%%%%###@@@@@@@@@@@@@@@@@@@@@@################%%%#%%xxxxxx*******+++++++++++++===~~~~!!!;;;:::::,
;!!~~~~==+=+++++++++=======~~===================++++++++++******xxxxxxxxx%%%%####@@@@@@@@@@@@@@@@@@@@@@################%%%#%%xxxxx***+*++++++=+=+++++++===~~~~!!!!;;;:;;::
;!!~~~====++++++++============~~==================+++++****+++*xxxxxxxx%%%%%#######@@@@@@@@@@@@@@@@@@@###@@@###@@######%%%%%%%%xx***+++++++++======++========~~!!~!!!;;;:::,
;!!~~~====++++++++========================+=====+++++++***++++*xxxxxxxx%%%%#####@#@@@@@@@@@@@@@@@@@@@@@##@@@###@@#######%%%%%%xxx**++++++=+==================~~!!~!!!!;;:::,
!!~~~=====++++++++++++=====================+++===++++++***+++*xxxxxxxxxx%%%%%#####@@@@@@@@@@@@@@@@@@@@@##@@@###@###%%%##%%%%%xxxx**++++================++====~~~!!!!!!;;::::
;!!~~~=====++++++++++++====++===============+++===++++++***++*xxxxxxxxxx%%%%%%####@@@@@@@@@@@@@@@@@@@@@@##@@@###@###%%%##%%%%xxxx***+++++=====~~~=~~~~========~~~!!!!!!;;:::,,
;!!~~~===+==++++++++++===++===========+++++++++===+++++*+*****xxxxxxxxxx%%%%####@@@@@@@@@@@@@@@@@@@@@@@@@@######@@@#####%%%%%%xx***++++=====~~~~~~~~~~~========~~!!!!!!;;;:::,
!!!~~~===+=+++++++++++===++===========++++++++==++++**********xxxxxxxxx%%%%###@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@@@#####%%%%x%xx***+++=====~~~~~~~~~~~~~~~=====~~!!!!!!!;;:::,
;!!~~~====++++*+++++++++++++==+++===========+++++++++******x*xx*xxxxxx%%%%%%####@@@@@@@@@@@@@@@@@@@@@@@@##############%%###%%xxxx**++++======~~~~~~~~~~~~~~~=====~!!!!!!;;;;:::,
;!!~~~====++++++*+++++++++++==+++========++++++++++++****xxxxxxxxxxxxx%%%%%%####@@@@@@@@@@@@@@@@@@@@@@@@##############%%###%%xxxx**++++=====~~~~~~~~!!~~~~~~~====~~!!!!!;;;;:::,
;!!!~~====++++++****++++++++++++++++++++++++***********xx***xxxxxx%%%#########@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@#######%%%###%%xxx***+++===~=~~~~~~~!!~~!~~~~~~=~~~~~!!!!!!;;;:::,
;!!~~~=====+++++****+++++++++++++++++++++************xxx***xxxxxxx%%#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@#######%%%###%%xxx***+++===~~~~~~~~~!!~~!!~~~~~~~~~~~!!!!!!;;;:::,
;!!~~~~====+++*****++++++*****+++++++++*****+++***xxx**x**xxxx%xx%%%########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########%%##%%%%x**+++++==~~~~~~~~~!!!~~!!!!~~~~~=~~~~~!!!!;;;::,,
;;!!~~~~====+++*******+***********++**************xxxxxxxxxxx%%%%%%########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########%%#%%%%%x**+++++==~~~~~~~!!!!!~~!!!!~~~~~=~~~~~!!!!;;;::,,,
;;!!~~~~==++++++********************************xxxxxxxx%%%%%%%%%%%%%#####@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@#############%xx****++=+===~~~~~~~~~~!!!!!!~~~~~~~~~~!!!!!;;;::::,,
;;!!~~~~===+++++*****************************xxxxxxxxx%%%%%%%%%%%#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@#############%xx****++=+===~~~~~~~~~~!!!!!!~~~~~~~~~~!!!!!;;;:::,,,
;;!!~~~~======+++******xxxxx***xx****xxxxxxxxxxxxxxxx%%%%%%%%%%%##@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################%%%%%xxx***++=====~~~~~~~~~!~~~~~!!~~~~~~~~!!!!!!;;;;::,,
;;!!~~~~======+++******xxxxxxxxxxxxxxxxxxxxxx%%%xxx%%%%%%%%%#%##@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########%##%###%%%%%xxx***++======~~~~~~~~!~~~~~!~~~~~~~~~!!!;;!;;;:::,,
;;;!!~~~~====++++++*****xxxxxxxxxxxxxxxxxxxxx%%%xx%%%%%%%####@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################%%xx***+*++=======~~~~!!!~~~~~~~~~~~~~~~!~!!!!;;;:::,,,
;;!!!~~~====++++++*****xxxxxxxxxx%%%%%%%%%%%%%%%%%%##%%#####@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################%%xxx****++=======~~~~!!!~~~~~!~~~~~~~~!!!!!!!;;:::,,,
;!!!!~~~=====+++++*****xxxxxx%xxx%%%%%%%%%%%%%%#########@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@########%%%%#%%%%%%%xxxx*+++====~===~~~~~~~~~~~~~~~==~~~!!!!!;;;;;:::,,
;!!!!~~~======++++******xxxxx%xxx%%%%%%%%%%%#############@@@@@@###@@@@@@@###@@@@@@@@@@@@@@@@@@@################%%%%%%%%%%%%%%%xxx*+++========~~~~~~~~~~~~~~==~~~~!!!!!;;;;;:::,,
;;!!!~~~=======+**********xxxx%%%%%%%%%%%%%%%%%#########@###@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@#######%%%%%%%%%%%%%%%%%%%%%%%%%%xx****++++========~~~~~~~~~~==~~~~~!!!!!;;;;;::,,,
;;;!!~~~=======++**********xxx%%%%%%%%%%%%%%%%%##################@@@@@@@@@@@####@@@@@@@@@@@@@######%%%%%xxxxxxxxxxxxx%%%%%%%%xxx*x**+++++=======~~~~~~~~~~=~~~~~~!!!!;;;;;:::,,,
;;!!!~~~=====+++++**+***x**xxx%%%%%%%%%%%%%######################@@@@###@@@@@@@###@@@@##########%xxxxxxxxxxxxxxxxxxxxx%%%%xxxxxxxx**++========~~~~~~=======~~~~!!!!;;;;:;::::,
;;!!!~~~=~===+++++**+******xxxx%%%%%%%%%%%%%######################@@@###@@@@@@@###@@@@##%##%%%%%xxxxx**xxx**********xxxxx%xxxxxxxxx**++====+======~~======~~~~~!!!!;!;;;;:::,,
:;!!!~~~~======++++******xxxxxxxxx%%%%%%%%%%#########################@@@#######@@@@@#####%%%xxxxxx*xxx*******************xxxxxxxxxx***++++=+=============~~~~~!!!!;;;;;:::::,,
;;!!~~~~==~===+=++*******xxxxxxxxx%%%%%%%%%######%##################@@@#######@@@#####%%%xxxx***********++++***+++*******xxxxxxxxxx**++++++++==========~~~~~!!!!!;;;;;::::,,
:;;!!!!~~=======+++++*+*******xxxxxxxxxxxxx%%%%%%##########################@@@#####%%%%%xx*xxx****+++**+++++++++*****+++****xxxxxx****+++++====+++==~=~~~~~!!!!!;;;;;:;::,,,
;;;!!!!~~~=======+++++++*******xxxxxxxxxxxx%%%%%%%#####%######%%%###############%#%%%%%x***x******++++++++==++++++++*+++++***xxxx*****+*+++++==+++==~~~~~~~!!!!;;;;;;;:::,,,
;;;!!~!~~=~=====++++++*****xxxxxxxxxxxxx%%%%%%%%%%%%###%########%%##############%%%xxxx*******++++++=======+++===+++=++++++**xxx****++++++++++=+===~~~~~~!!!!;;;;;;::::,,,
:;;;!!!!~==~====++++++******x*xxxxxxxxxx%%%%%%%%%%%%%%%%%%######%%%####%%%#####%%%xxxx******++++++=====================+++++*xx****++++++++++=====~~~~~~~~!!!;;;;;;::,:,,,
;;!;!!~~~~~~=====+++++**++*******xxxxxxx%%%%%%%%%%%%%%%%%###%%%###%%%%%%%%%%%%%xxxx*****++++++++======~~~==========+++++++******+**++++==+====~~~~~~~!!!!!!;!;;;:::::,,,
::;!;!~!~~~~======++++**+++*********xxxxxx%%%xxx%%%%%%%%%%##%%%%%%%%%%%%%%%%%%xxxx*****+++++++========~~~~~~========+++++++****+++++++=======~~~~~~~!!!!!!;!!;;;:::,,,,,
:;;;!!!~~~~~====++++++***********xxxxxxxxxxxx%%%%%%%%%%%%%%####%%%%%%%%%####%%xx****++++++=++====~======~~==========+++++++++*++**+++++======~~~~~~~!!!!!!!;;;::::,,,,
:;!!!!!~~~~~====++++++***+********x*xxxxxxxxxxx%%%%%%%%%%%%%%%%%%%%%%%%###%%%%*****+++++==+====~~======~~~==========++++++++++**+++=+======~~~~~~~!!!!!!!;;;;::::,,,
,:;;!!!~~~~~~~=====+++++++*********x***xxxxxxxxxxx%%%xxx%%%xxx%%%%%%%%%%%%%xxx*******+++===========~~~~~~~============+++**+++++++=+======~~~~~~!!!!!;!!;;;:::::,,,,
,:;!!!!~~~~~~~=====++++++***+*********xxxxxxxxxxx%%%xxx%%%xxx%%%%%%%%%%%%xxxx*******+++==========~~~~~~~~===========+++***++++++========~~~~~~!!!!!;!!;;;:::::,,,,
,:;;!!!~~~~~==~===++==+++***************xxxxxxxxx%%%%%xxx%%%xxx%%%%%%xxxxxxxxxx**+*++++====~~~===~~~=============+++****+++==========~~~~~~!!~~!!!!!;;;:::::,,,,
,:;;!!!~!~~~==~===++==+++**+***********xxx*xxxxxxxx%%xxx%%%xxx%%%%%%%xxxxxxxxx****++++=+==~~~===~~~============++++**+++++==========~~~~~!!~~!!!!;;;;;:::,,,,,
.,:;;!!!!!~~~==~=====++=+++******************xxxxxxxxxxxxxxxxxxxxx%%%xxx%%%xx***+*+++++============~~~======++++++++++++++========~~~~~~!!!!!!;;;;;;;;::,,,,,,
.,:;!!!!!!~~~~=~====++===+++*+**++************xxxx**xxxxxxxxxxxxxxxxxxxxxxxx*****++++++==================++++++*++++++++======~~~~~~~~~!!!!!!;;;;;;;::,,,,,,
.,:;;!!!!!~~~~~~=====+==+++++++***+**************xxxxxx**xxxxxxxxxxxxxxxxxxxxx*+++*++===++===========+===++++++++++++=+====~~~=~~~!~~!!!!;;;;;;:::::,,,,,,
.,:;;!!!!!!~~~~~======++=++++++*****++*******************xxxxxxxxxxxxxxxxxx***x**++++++===+====+++===+++++++++++==========~~~~~~~!!!!!!!!!;;;::::::,,,,,
.,:;;!;!!!!~~~~~======++==+++++++**+++*******************xxxxx******xxxxxx***xx***+**++++++++++++==+++++++++++==========~~~~~~~!!!!!!!!!;;:::::::,,,,,
,:;;;;!!!!!~!!~~~~==========+++++++**+++********************************************++++++***+++++*+++++++============~~~~~~!!!!!!!;;;;;;:::::,,,,,,
::;;;!!!!!!!!~~~~~========+++++++++*++*****+++************************************++++++**++++++++++++==========~~~~~~~!~!!!!!!!;;;;;;:::::,,,,,
:::;;;;!!!!!!~~~~~~~~=====+++++==++++++++++++******++***+++***********+++***********++*++++++++++===++==========~~~~~~!!!!!!!!!;;;;;::::,,,,,,
::::;;;!!!!!!~!~~~~~~~=====+=====++++++++++++++***+++**++++++********+++++***+++**++++++==++++++==+==========~~~~~~!!!!!!!!!;;;;;;::,:,,,,,,
,::;;;!;!!!!!!~~~~~~~~==========+++++++++++++++++++++++**+++++++++++***++++++++++++++++++==============~~~~~~~~~~!!!!!!;;;;;;:;::::,::,,,,
:::;;;;!!!!!!!!~~~~~~==~~======++=====++===+++++++++++++++++++++++++++++++++======+++++=======~~~~~~~~~~~~!!!!!!!!!;;;;;;;::::::,,,,,,
,::;;;;;!!!!!!!~~~~~~~~~=====~========++==++++++++++===+++++++++=++++++++++=====+=========~~~~~~~~~~!!~!!!!!!!!!!;;;;;;:::::,:,,,,,,
,::::;;;;;!!!!!!~~~~~~~~~~~=============+=====+++++++++===========+=++++++++====~~~===~~==~~~~~~~!!~~!!!!!;!!!!;;;:;::::::,,,,,,
,:::;;;;;;!!;!!!!~~~~~~~~~~~~~~~~~===========================================~~==~~~~~=~~~~!!!!~~!!!!!!;;;;;;;;:;;::::,,:,,,,,
::::;;;;;;!;!!!!!~~~~!~~~~~~~~~~~=======================================~~~~~~~~~~~~~~~~!!!!~!!!!;!!;;;;;;;::;:::::,,:,,,,
,::::;;;;;;;!!!!!!!~~~!!!~~~~~~~~~~==================~~~~~==~~~~~~~=~~~~~~~~~~~~~~!~~!!!!!!!!;;;;;;;;;:::::::,,,,,,,,,
,:::;;:;;;;;;!!!!!!!!!!!~~~~~~~~~~~~~~~~~======~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!~~~~!!!!!!!!;;;;;;;;;:::::::,,,:,,,,
,::::::;;;;!;;!!!!!!!!!!!~~!!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!~~~!!!!!!!!!!!;;;;;;;;;;;;::::::,,,,,,,,,
,,,::::;;;;;;;;;!!;!!!!!!~!!!!~~~~~~!!~~~~~~~~~~~~!!~~!!!!!!!!!~~!!!!!!!!!!;!!;;;;;;;;;;;::::::::,,,,,,,,,
,,::::::;;;;;;;!;;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~~!!!!!!!!!!!!!!!!!!;;;;;!!;;;;;;;:::::::,,,,,,,,,,,
,,,::::::;;;;;;;;;;;;!;;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;;;;;!!;;;;;;;;;;;:::::::,,,,,,,,,,
,,,:::::::;;::;;;;;;!!!!!!!;!!!!;;!!!!!!!!;;;;;;!!;;;!!!;!!;;;;;;;;;;;;;:::::::::,,,,,,,,,
,,:::::::::;:;;;;;;;;;;;;;;;;;;;;;;;!!!!;;;;;;;;;;;;;;;;;;;::;;;::::::,::,,,,,,,,,,,
,,,:,,:::::::;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:::::::::,,,:,,,,,,,,,,
,,,,,,,::::::::::::::::::;;:;;;::;;;;;;;::::::::::::::,:::::,,,,,,,,,,,,
,,,,,,,,,,,:,:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,:,,,,:::,::,:,,,:::,,:,,,,,,,:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,