Skip to main content
For teams graduating from LiteLLM

Moving from LiteLLM Cloud to a DVARA gateway you run.
What transfers, what does not, and how to check.

LiteLLM Cloud is a managed service; DVARA is software you deploy and operate. That change of shape matters more than the change of vendor. For a plain OpenAI-SDK path the client change is a base URL and a key, but virtual keys, teams, budgets, routing and callbacks do not come with it. This guide covers Cloud, not the open-source Proxy.

How does DVARA compare with LiteLLM Cloud?

One row, because it is the difference that decides the rest. LiteLLM Cloud references are sourced from litellm.ai/cloud and docs.litellm.ai. We update this page as LiteLLM Cloud's pricing or feature set changes.

DVARALiteLLM Cloud
Operating modelSoftware you deploy and operate yourself — gateway and console in your own environment, against your own database. Managed hosting is a licensed option to arrange, not a self-serve product.LiteLLM Cloud is a managed service. The LiteLLM Proxy is the separate open-source project you host yourself — a different product with a different operating model.

For the full feature-by-feature head-to-head, see our DVARA vs LiteLLM comparison.

How do you migrate off LiteLLM Cloud?

For a plain OpenAI-SDK path the client change is small. The work is standing up the gateway you are pointing at, and then proving the paths your application actually uses still behave the same.

  1. 1

    Inventory what you rely on today

    Which endpoints, models and providers you call; whether you stream; whether you use tools or structured outputs; and which LiteLLM concepts are load-bearing — virtual keys, teams, budgets, routing rules, callbacks. None of that transfers, so the list is what tells you how big the migration really is.

    Capture a set of representative requests and their responses now. They are what you will compare against.

  2. 2

    Stand up a DVARA deployment to test against

    This is the part that has no equivalent in your current setup. DVARA is software you operate — gateway and console in your own environment, against your own database. The public images boot with no licence key, enough to exercise the compatibility surface; the governance engines need a licence.

  3. 3

    Add provider credentials, then repoint the SDK

    Register your provider keys in the console, then change the base URL and key in your client. Keep both in configuration rather than hardcoded — it is what makes step five reversible.

    Before — LiteLLM Cloud
    from openai import OpenAI
    
    client = OpenAI(
        base_url=os.environ["LLM_BASE_URL"],
        api_key=os.environ["LLM_API_KEY"],
    )
    After — your DVARA gateway
    # LLM_BASE_URL=http://localhost:8080/v1
    # LLM_API_KEY=gw_...
    #
    # Same code. Only the two environment
    # variables change — which is also how
    # you change them back.

    localhost:8080 is the gateway's documented port; substitute whatever host you deployed it to.

  4. 4

    Replay your representative requests and compare

    Response shape, status codes, token counts, and the paths easiest to get wrong: streaming, tool calls, structured outputs, an unknown model, a missing key, and whatever your retry logic does when a provider errors.

    Differences are not necessarily faults — a provider that cannot honour strict structured output is reported rather than hidden. Decide which differences you accept.

  5. 5

    Move a slice, then the rest — and keep the way back

    Cut over one workload before all of them. Rollback is setting the two environment variables back to what they were, which is only true while they stay configuration.

    Turn on the governance you need once traffic is steady. Doing it in the same change as the cutover means a policy denial and a compatibility problem look identical.

Running agents? The MCP Gateway is a separate plane.

Tool calls are governed by the DVARA MCP Gateway — a governance plane inside the gateway you already run, not a separate service to deploy. A licence activates it; without one the paths are simply not registered. What it adds: loop detection, approval gates, kill switch, and a unified LLM + MCP session timeline. Pick the tier that matches your throughput; the agent governance comes with it.

See the tiers on /pricing

Common questions about migrating from LiteLLM Cloud

Which LiteLLM does this guide cover?

LiteLLM Cloud, the managed service. The LiteLLM Proxy is a separate open-source project you host yourself, and moving from it is a different exercise — you already operate a gateway, so the change is which one rather than whether to run one. Nothing compared here carries from one to the other.

Is a code change required?

For a plain OpenAI-SDK path, the change is the base URL and the key. That is the starting point, not the finish line: headers, provider-specific parameters, model names and aliases, retry and fallback behaviour, error codes, and anything using a LiteLLM-specific feature all need checking against your own tests. Treat a successful first request as a hypothesis to verify.

Where do I point the SDK?

At a deployment you run. DVARA is software you operate — the gateway listens on port 8080 and the console on 8090, in whatever environment you deploy them to. There is no DVARA-hosted endpoint to repoint at. Coming from a managed service, that is the substantive change: the migration includes standing up and operating the gateway.

What happens to virtual keys, teams, budgets, routing and callbacks?

None of it transfers. Those are LiteLLM concepts with their own shapes; the equivalent DVARA configuration — API keys, workspaces, budget caps, routes, webhooks — is authored separately. Inventory what you rely on before you start, because a base-URL change carries none of it across.

Which API surfaces does DVARA expose?

The OpenAI shapes: chat completions, embeddings, models, the Responses API, and the Batch API with files. Streaming works over SSE, and structured outputs are translated to whatever each provider natively implements, with a header telling you when a provider could not do strict mode. Test the paths your application uses rather than assuming parity across all of them.

Can I keep using my own provider keys?

Yes — you bring your own keys and they stay in your deployment. Credentials resolve per workspace first, then a platform default, then a vault, then the environment, and strict BYOK refuses the platform fallback so a workspace can only spend its own key.

What data crosses the gateway?

Prompts and responses pass through it to the provider you routed to — that is what a gateway does, and running it yourself decides where the gateway sits and where your keys are held, not whether a call to a hosted provider reaches that provider. What you gain is an inspection point before egress: policy evaluation, and PII and guardrail checks you configure, which can block, redact, or record before the request leaves.

How do I test and roll back?

Replay a captured set of representative requests and compare response shape, status codes, token counts, and the paths easiest to get wrong — streaming, tool calls, structured outputs, an unknown model, a missing key, and whatever your retry logic does when a provider errors. Rollback is setting the base URL and key back, which stays true only while both are configuration rather than hardcoded.

How does the pricing compare?

LiteLLM Cloud is usage-priced per its own documentation, so the bill tracks calls. DVARA does not publish a figure: a licence is sized by request volume, going over that volume does not stop your traffic, and the number comes from a conversation. They are also different shapes of cost — one is a service you buy, the other is software you run plus the infrastructure to run it on. Compare on your own volumes.

Which edition do I need?

The gateway and console boot from public images with no licence key, which covers development and evaluating the compatibility surface. The governance this page describes — Policy-as-Code, budgets, signed audit, guardrails, reversible PII redaction — is licensed, and the MCP and A2A planes are licensed with no keyless tier at all. A 30-day trial licence unlocks every feature for evaluation, and you request it by booking a slot or emailing support — see the licensing docs for what it covers.

Test one path before you move the rest.

A base-URL change is a hypothesis. Replay your own requests against a deployment you control, compare what comes back, and move the rest once the differences are ones you accept.

Last updated