{
  "id": "13",
  "slug": "prem",
  "name": "Prem",
  "tagline": "OpenAI-compatible end-to-end encrypted confidential inference on dedicated GPUs",
  "description": "Prem (prem.io) offers OpenAI-compatible confidential inference where the Confidential Proxy encrypts requests end-to-end to the enclave (XWing key encapsulation + XChaCha20-Poly1305). Attestation combines AMD SEV-SNP or Intel TDX CPU evidence with NVIDIA GPU signed EAT tokens, verified client-side by the open-source Reticle verifier. The service is in beta; the confidential catalog is served per API key from the gateway at gateway.prem.io and is distinct from the non-TEE Zero Data Retention (ZDR) catalog.",
  "logo_url": null,
  "website_url": "https://www.premai.io",
  "api_docs_url": "https://docs.prem.io",
  "founded_year": null,
  "headquarters": null,
  "status": "beta",
  "tee_types": [
    {
      "type": "amd_sev_snp",
      "attestation_method": "AMD SEV-SNP report with nonce, verified against AMD KDS collateral per prem-research/confidential-policies golden OPA policy",
      "notes": "Which CPU family serves a given model is not published; the catalog exposes no per-model hardware or assurance fields"
    },
    {
      "type": "intel_tdx",
      "attestation_method": "Intel TDX quote with nonce and DCAP collateral, appraised against the published golden OPA policy",
      "notes": "The catalog does not expose which models run on TDX vs SNP; hardware family must come from live attestation evidence"
    },
    {
      "type": "nvidia_cc",
      "attestation_method": "NVIDIA-signed EAT tokens with detached per-GPU claims and a verifier nonce, signature-checked against NVIDIA collateral with a per-GPU measurement result enforced",
      "notes": "Prem does not publish GPU SKUs, fleet size, or which models run on which GPUs; the gateway advertises a single NVIDIA vendor module while the EAT response can carry several detached GPU claims"
    }
  ],
  "models": [
    {
      "name": "DeepSeek V4.1 Flash",
      "slug": "deepseek-v4.1-flash",
      "family": "DeepSeek",
      "source_id": "deepseek-v4.1-flash",
      "context_window": null,
      "max_output_tokens": null
    },
    {
      "name": "Qwen 3.8 27B",
      "slug": "qwen-3.8-27b",
      "family": "Qwen",
      "source_id": "qwen38-27b",
      "context_window": null,
      "max_output_tokens": null
    },
    {
      "name": "Nemotron 3 Ultra",
      "slug": "nemotron-3-ultra",
      "family": "NVIDIA Nemotron",
      "source_id": "nvidia/nemotron-3-ultra-550b-a55b",
      "context_window": null,
      "max_output_tokens": null
    },
    {
      "name": "Qwen 3.6",
      "slug": "qwen-3.6",
      "family": "Qwen",
      "source_id": "qwen36-27b",
      "context_window": null,
      "max_output_tokens": null
    },
    {
      "name": "DeepGram General Nova 3",
      "slug": "deepgram-general-nova-3",
      "family": "DeepGram",
      "source_id": "deepgram/general-nova-3",
      "context_window": null,
      "max_output_tokens": null
    }
  ],
  "pricing": [
    {
      "model_name": "DeepSeek V4.1 Flash",
      "price_per_million_input_tokens": 0.35,
      "price_per_million_output_tokens": 1.4,
      "price_per_million_cached_input_tokens": null,
      "price_per_million_cache_write_tokens": null,
      "price_per_hour": null,
      "price_per_request": null,
      "price_per_audio_minute": null,
      "pricing_model": "per_token",
      "free_tier": false,
      "notes": "Per-1M-token USD rates are read live from GET /rvenc/models (price_config.confidential, per-1K fields x 1000). Confidential cached-prompt pricing is a promotional $0.00/1M until 2026-10-20 per Prem docs; records without a cached rate keep none — a post-promo rate is not assumed. Reasoning-token rates are surfaced in offer notes.",
      "source_id": "deepseek-v4.1-flash",
      "offering_id": "deepseek-v4.1-flash#ch",
      "unit": "tokens",
      "currency": "USD",
      "original_currency": null,
      "original_input_price": null,
      "original_output_price": null,
      "fx_rate": null,
      "fx_source_url": null,
      "fx_observed_at": null,
      "source_observation": {
        "kind": "live",
        "status": "fresh",
        "source_url": "https://gateway.prem.io/rvenc/models",
        "observed_at": "2026-10-17T17:35:08Z",
        "attempted_at": null,
        "expires_at": null,
        "error": null,
        "empty_reason": null
      },
      "conditions": null
    },
    {
      "model_name": "Qwen 3.8 27B",
      "price_per_million_input_tokens": 0.3,
      "price_per_million_output_tokens": 2.4,
      "price_per_million_cached_input_tokens": 0,
      "price_per_million_cache_write_tokens": null,
      "price_per_hour": null,
      "price_per_request": null,
      "price_per_audio_minute": null,
      "pricing_model": "per_token",
      "free_tier": false,
      "notes": "Per-1M-token USD rates are read live from GET /rvenc/models (price_config.confidential, per-1K fields x 1000). Confidential cached-prompt pricing is a promotional $0.00/1M until 2026-10-20 per Prem docs; records without a cached rate keep none — a post-promo rate is not assumed. Reasoning-token rates are surfaced in offer notes.; reasoning tokens $1.2/1M",
      "source_id": "qwen38-27b",
      "offering_id": "qwen38-27b#ch",
      "unit": "tokens",
      "currency": "USD",
      "original_currency": null,
      "original_input_price": null,
      "original_output_price": null,
      "fx_rate": null,
      "fx_source_url": null,
      "fx_observed_at": null,
      "source_observation": {
        "kind": "live",
        "status": "fresh",
        "source_url": "https://gateway.prem.io/rvenc/models",
        "observed_at": "2026-10-17T17:35:08Z",
        "attempted_at": null,
        "expires_at": null,
        "error": null,
        "empty_reason": null
      },
      "conditions": null
    },
    {
      "model_name": "Nemotron 3 Ultra",
      "price_per_million_input_tokens": 0.625,
      "price_per_million_output_tokens": 3.125,
      "price_per_million_cached_input_tokens": 0,
      "price_per_million_cache_write_tokens": null,
      "price_per_hour": null,
      "price_per_request": null,
      "price_per_audio_minute": null,
      "pricing_model": "per_token",
      "free_tier": false,
      "notes": "Per-1M-token USD rates are read live from GET /rvenc/models (price_config.confidential, per-1K fields x 1000). Confidential cached-prompt pricing is a promotional $0.00/1M until 2026-10-20 per Prem docs; records without a cached rate keep none — a post-promo rate is not assumed. Reasoning-token rates are surfaced in offer notes.",
      "source_id": "nvidia/nemotron-3-ultra-550b-a55b",
      "offering_id": "nvidia/nemotron-3-ultra-550b-a55b#ch",
      "unit": "tokens",
      "currency": "USD",
      "original_currency": null,
      "original_input_price": null,
      "original_output_price": null,
      "fx_rate": null,
      "fx_source_url": null,
      "fx_observed_at": null,
      "source_observation": {
        "kind": "live",
        "status": "fresh",
        "source_url": "https://gateway.prem.io/rvenc/models",
        "observed_at": "2026-10-17T17:35:08Z",
        "attempted_at": null,
        "expires_at": null,
        "error": null,
        "empty_reason": null
      },
      "conditions": null
    },
    {
      "model_name": "Qwen 3.6",
      "price_per_million_input_tokens": 0.3,
      "price_per_million_output_tokens": 2.4,
      "price_per_million_cached_input_tokens": 0,
      "price_per_million_cache_write_tokens": null,
      "price_per_hour": null,
      "price_per_request": null,
      "price_per_audio_minute": null,
      "pricing_model": "per_token",
      "free_tier": false,
      "notes": "Per-1M-token USD rates are read live from GET /rvenc/models (price_config.confidential, per-1K fields x 1000). Confidential cached-prompt pricing is a promotional $0.00/1M until 2026-10-20 per Prem docs; records without a cached rate keep none — a post-promo rate is not assumed. Reasoning-token rates are surfaced in offer notes.; reasoning tokens $1.2/1M",
      "source_id": "qwen36-27b",
      "offering_id": "qwen36-27b#ch",
      "unit": "tokens",
      "currency": "USD",
      "original_currency": null,
      "original_input_price": null,
      "original_output_price": null,
      "fx_rate": null,
      "fx_source_url": null,
      "fx_observed_at": null,
      "source_observation": {
        "kind": "live",
        "status": "fresh",
        "source_url": "https://gateway.prem.io/rvenc/models",
        "observed_at": "2026-10-17T17:35:08Z",
        "attempted_at": null,
        "expires_at": null,
        "error": null,
        "empty_reason": null
      },
      "conditions": null
    },
    {
      "model_name": "DeepGram General Nova 3",
      "price_per_million_input_tokens": null,
      "price_per_million_output_tokens": null,
      "price_per_million_cached_input_tokens": null,
      "price_per_million_cache_write_tokens": null,
      "price_per_hour": null,
      "price_per_request": null,
      "price_per_audio_minute": 0.05,
      "pricing_model": "per_audio_minute",
      "free_tier": false,
      "notes": "Per-1M-token USD rates are read live from GET /rvenc/models (price_config.confidential, per-1K fields x 1000). Confidential cached-prompt pricing is a promotional $0.00/1M until 2026-10-20 per Prem docs; records without a cached rate keep none — a post-promo rate is not assumed. Reasoning-token rates are surfaced in offer notes.",
      "source_id": "deepgram/general-nova-3",
      "offering_id": "deepgram/general-nova-3#ch",
      "unit": "audio-minute",
      "currency": "USD",
      "original_currency": null,
      "original_input_price": null,
      "original_output_price": null,
      "fx_rate": null,
      "fx_source_url": null,
      "fx_observed_at": null,
      "source_observation": {
        "kind": "live",
        "status": "fresh",
        "source_url": "https://gateway.prem.io/rvenc/models",
        "observed_at": "2026-10-17T17:35:08Z",
        "attempted_at": null,
        "expires_at": null,
        "error": null,
        "empty_reason": null
      },
      "conditions": null
    }
  ],
  "api_features": {
    "openai_compatible": true,
    "streaming": true,
    "function_calling": true,
    "batch_inference": false,
    "vision": true,
    "embeddings": false,
    "max_concurrent_requests": null,
    "avg_latency_ms": null
  },
  "payments": {
    "accepts_crypto": false,
    "accepts_bitcoin": false,
    "accepted_assets": [],
    "notes": null
  },
  "attestation": {
    "documentation_url": "https://docs.prem.io/attestation",
    "endpoint_url": "https://gateway.prem.io/attestation/modules",
    "verifier_url": "https://github.com/prem-research/reticle",
    "evidence_format": "Per-model attestation via the Confidential Proxy: AMD SEV-SNP report or Intel TDX quote bound to a verifier nonce, plus NVIDIA GPU signed EAT tokens (detached per-GPU claims), appraised against published OPA golden policies (prem-research/confidential-policies)",
    "notes": "Prem's own docs warn that raw evidence fetches (request_sev/request_tdx/request_nvidia) are not a verification pass. Our appraiser discovers modules at endpoint_url and appraises evidence directly against manufacturer collateral — independent of the published Reticle/OPA provider design, whose shipped golden policies leave workload measurements unpinned so identity appraisal needs operator reference values. The model list exposes no assurance, tee, or hardware-family field, so per-model route pinning is not proven from the catalog. The serving hypervisor is closed source; Prem's security model treats it as untrusted, and the declared XWing + XChaCha20-Poly1305 E2EE channel (session id via x-session-id) is not independently exercised here."
  },
  "sdks": [
    {
      "language": "Rust",
      "package_url": "https://github.com/prem-research/reticle",
      "docs_url": "https://docs.prem.io/attestation"
    },
    {
      "language": "TypeScript",
      "package_url": "https://www.npmjs.com/package/@premai/reticle",
      "docs_url": "https://docs.prem.io/attestation"
    }
  ],
  "api_compatibility": {
    "openai_chat_completions": true,
    "openai_responses": false,
    "anthropic_messages": false,
    "notes": "Confidential requests go through the Confidential Proxy and its SDK; the SDK includes an Anthropic adapter that is not independently exercised here. The OpenAPI schema declares OpenAI-style tools/tool_choice/function_call parameters on the encrypted chat completions request — function calling is declared, not independently exercised."
  },
  "social_links": [
    {
      "label": "GitHub",
      "url": "https://github.com/prem-research"
    }
  ],
  "source_urls": [
    {
      "label": "Prem models and pricing",
      "url": "https://docs.prem.io/models-and-pricing",
      "checked_at": "2026-10-17"
    },
    {
      "label": "Prem attestation documentation",
      "url": "https://docs.prem.io/attestation",
      "checked_at": "2026-10-17"
    },
    {
      "label": "Prem security model",
      "url": "https://docs.prem.io/security-model",
      "checked_at": "2026-10-17"
    },
    {
      "label": "Prem confidential model catalog",
      "url": "https://gateway.prem.io/rvenc/models",
      "checked_at": "2026-10-17"
    },
    {
      "label": "Reticle verifier source",
      "url": "https://github.com/prem-research/reticle",
      "checked_at": "2026-10-17"
    },
    {
      "label": "Prem confidential policies",
      "url": "https://github.com/prem-research/confidential-policies",
      "checked_at": "2026-10-17"
    }
  ],
  "last_verified_at": "2026-10-17",
  "data_freshness": {
    "status": "fresh",
    "last_success_at": "2026-10-17T17:35:08Z",
    "last_attempt_at": "2026-10-17T17:35:08Z"
  },
  "source_observations": {
    "models": {
      "kind": "live",
      "status": "fresh",
      "source_url": "https://gateway.prem.io/rvenc/models",
      "observed_at": "2026-10-17T17:35:08Z",
      "attempted_at": null,
      "expires_at": null,
      "error": null,
      "empty_reason": null
    },
    "prices": {
      "kind": "live",
      "status": "fresh",
      "source_url": "https://gateway.prem.io/rvenc/models",
      "observed_at": "2026-10-17T17:35:08Z",
      "attempted_at": null,
      "expires_at": null,
      "error": null,
      "empty_reason": null
    },
    "metadata": {
      "kind": "declared",
      "status": "declared",
      "source_url": "https://docs.prem.io/models-and-pricing",
      "observed_at": "2026-10-17",
      "attempted_at": null,
      "expires_at": null,
      "error": null,
      "empty_reason": null
    }
  },
  "organization_roles": [
    "storefront",
    "workload-operator",
    "tee-platform"
  ],
  "trust_tier": "app-e2ee",
  "e2ee_capability": "xwing-xchacha20-poly1305",
  "pqc": {
    "status": "pq-gateway",
    "kex": "X25519MLKEM768",
    "kex_required": null,
    "classical_fallback": "observed",
    "notes": "Measured X25519MLKEM768 TLS on gateway.prem.io (2026-10-17); the termination point is not proven inside the attested TEE. A classical-only handshake completed in the tested matrix.",
    "source_url": null,
    "checked_at": "2026-10-17",
    "measured": {
      "display": "hybrid-observed",
      "displayLabel": "Hybrid TLS observed",
      "claims": [
        "hybrid-tls-observed",
        "classical-fallback-observed"
      ],
      "claimLabels": [
        "Hybrid TLS observed",
        "Classical fallback observed"
      ],
      "hybridObserved": [
        "X25519MLKEM768"
      ],
      "classicalFallback": "observed",
      "defaultNegotiated": "X25519MLKEM768",
      "measuredAt": "2026-10-17T17:36:08.208Z",
      "stale": false,
      "boundToAttestedEndpoint": false,
      "boundCheckId": null,
      "boundAttemptId": null,
      "boundCheckedAt": null,
      "supportingAttemptIds": [
        2854,
        2857,
        2858,
        2859,
        2862,
        2865,
        2866,
        2867
      ],
      "endpoint": "gateway.prem.io",
      "endpointId": "prem-api",
      "vantage": "conf-inference",
      "runId": 31,
      "latestAttempt": {
        "at": "2026-10-17T17:36:08.137Z",
        "outcome": "negotiated",
        "endpointId": "prem-api"
      },
      "integrity": "verified",
      "lastObserved": null,
      "client": {
        "node": "v24.14.1",
        "openssl": "3.5.5"
      },
      "evidenceLevel": "authenticated",
      "reasons": [
        "a classical-only handshake completed — hybrid remains optional"
      ]
    }
  },
  "current_assurance": {
    "state": "unreachable",
    "label": "Availability issue",
    "summary": "The verifier could not fetch fresh evidence for every check in this run.",
    "tone": "warn",
    "checks": 5,
    "outcome": "checked",
    "missingTargets": [],
    "attemptSummary": "Latest attempt complete; discovery complete; 5/5 targets completed"
  }
}