Protocol What is removed
What is removed
What leaves our servers is the request you meant to send without who sent it, and what comes back is the model's answer without the host's own fields.
Who you are
You sendThe host gets
Your IP address→Moth's server address, shared by every call
Your user agent and other headers→Only the headers Moth sets
Your key or wallet→One pooled key
user, metadata and a message's name→Nothing, they are dropped
Your prompt and its settings→The prompt, with the model's name swapped for the host's own
Fields dropped from the request
Each endpoint keeps only the fields it names, at every level of the body, and drops the rest without an error, so an SDK that adds fields of its own still works.
EndpointDropped
/chat/completionsuser, metadata, store, a message's name, logprobs, top_logprobs, logit_bias, service_tier, reasoning_effort and any routing field/messagesmetadata, cache_control and service_tierSettings a model can't take
Some settings reach only the models that understand them. Each model's entry in the catalog says which under capabilities.
SettingWhat happens
temperature, top_p, top_ksent only where sampling_params is true and dropped without an error elsewhere. top_k is taken only on /messages and reaches only Claude models. On /chat/completions a temperature above 1 becomes 1 on Claude models, and /messages refuses one above 1 with 400presence_penalty, frequency_penalty, seedsent to the Gemini models only and dropped elsewherestop and stop_sequencesrefused with 400 on the GPT, Grok, DeepSeek and Kimi modelsthinking and thinking blockssent to Claude models only and dropped elsewhereresponse_formattext works everywhere, Claude models refuse a JSON format, and the GPT, Grok, DeepSeek and Kimi models take only json_schema with a schemaAn image's
detaildropped, except on the Gemini modelssearch_context_size and max_useschecked, then not sent onWhat changes in the reply
- The reply's
idis Moth's own,msg_orchatcmpl-followed by the request id without itsreq_, so a call logged asreq_abcanswers asmsg_abc, andmodelis the Moth model ID. usagecounts only your input and output. The host's hidden prompt and Moth's own instruction are taken out, and cached tokens count as input.- Any cost figure the host adds is removed, and so is the host's error text, which becomes one of three plain errors.
- Web sources lose their
utm_sourcetag. - A one-line house instruction, whose tokens you don't pay for, asks the model not to write em dashes, and any it writes anyway become a comma, or a hyphen at the start of a line, in the reply's text.
- Some hosts ignore
max_tokens, so a reply that runs past five characters for every token of it is cut there and ends withmax_tokensorlength.
What it can't remove. Whatever a prompt says about you stays in the prompt. The Mothpoint removes who sent a request, not what it contains, and Anonymized and Sealed explains where that line sits.