Onramp

Request limit upgrade

Changed on

Requests a limit upgrade for an onramp user. Only phone number is currently supported as a userId.

The default API mode submits identity information directly and returns HTTP 202 when the request is accepted. Embedded mode (interactionMode: embedded) returns a Coinbase-hosted upgradeUrl where the user enters identity information.

The verification process is asynchronous. After calling this endpoint, use the Get Onramp User Limits endpoint to check the status in the limitUpgradeOptions array.

Prerequisites:

  • The phone number must have been previously verified by your app via OTP. - Upgrades may not be available until a certain number of successful transactions by the user.

Supported fields:

  • ssnLast4: Last 4 digits of the Social Security Number (no dashes or spaces).
  • dateOfBirth: Date of birth (day, month, year as zero-padded strings).
post/v2/onramp/limits/upgrade

Request

  • Base URL: https://api.cdp.coinbase.com/platform
  • URL: https://api.cdp.coinbase.com/platform/v2/onramp/limits/upgrade
  • Auth: HTTP bearer

Request body

userIdstring required

The user identifier value. For phone_number type, this must be in E.164 format.

userIdType'phone_number' required

The type of user identifier:

  • phone_number: A phone number in E.164 format associated with an onramp user.
interactionMode'api' | 'embedded'

The interaction mode for the limit upgrade request:

  • api: Submit identity fields directly in the API request.
  • embedded: Return a Coinbase-hosted URL where the user enters identity fields.

Example request

{
  "userId": "+12055555555",
  "userIdType": "phone_number",
  "fields": {
    "ssnLast4": "5678",
    "dateOfBirth": {
      "day": "15",
      "month": "08",
      "year": "1990"
    }
  }
}

Response

Embedded limit upgrade URL created.

upgradeUrlstring uri required

A valid HTTP or HTTPS URL.

expiresAtstring date-time required

The time at which the hosted limit upgrade URL expires. Request a new upgrade URL after this time.

Example response

{
  "upgradeUrl": "https://example.com",
  "expiresAt": "2026-06-21T00:05:00Z"
}

Changes

    • warning

      added the new incompatible_event_types enum value to the response property for the response status

    • warning

      added the new incompatible_event_types enum value to the response property for the response status

    • warning

      added the new incompatible_event_types enum value to the response property for the response status

    • warning

      added the new incompatible_event_types enum value to the response property for the response status

    • warning

      added the new invalid_webhook_headers enum value to the response property for the response status

    • warning

      added the new invalid_webhook_headers enum value to the response property for the response status

    • warning

      added the new invalid_webhook_headers enum value to the response property for the response status

    • warning

      added the new invalid_webhook_headers enum value to the response property for the response status

    • warning

      added the new invalid_webhook_url enum value to the response property for the response status

    • warning

      added the new invalid_webhook_url enum value to the response property for the response status

    • warning

      added the new invalid_webhook_url enum value to the response property for the response status

    • warning

      added the new invalid_webhook_url enum value to the response property for the response status

    • warning

      added the new mandate_action_pending enum value to the response property for the response status

    • warning

      added the new mandate_action_pending enum value to the response property for the response status

    • warning

      added the new mandate_action_pending enum value to the response property for the response status

    • warning

      added the new mandate_action_pending enum value to the response property for the response status

    • warning

      added the new mandate_canceled enum value to the response property for the response status

    • warning

      added the new mandate_canceled enum value to the response property for the response status

    • warning

      added the new mandate_canceled enum value to the response property for the response status

    • warning

      added the new mandate_canceled enum value to the response property for the response status

    • warning

      added the new mandate_expired enum value to the response property for the response status

    • warning

      added the new mandate_expired enum value to the response property for the response status

    • warning

      added the new mandate_expired enum value to the response property for the response status

    • warning

      added the new mandate_expired enum value to the response property for the response status

    • warning

      added the new mandate_invalid_status enum value to the response property for the response status

    • warning

      added the new mandate_invalid_status enum value to the response property for the response status

    • warning

      added the new mandate_invalid_status enum value to the response property for the response status

    • warning

      added the new mandate_invalid_status enum value to the response property for the response status

    • warning

      added the new mandate_policy_violation enum value to the response property for the response status

    • warning

      added the new mandate_policy_violation enum value to the response property for the response status

    • warning

      added the new mandate_policy_violation enum value to the response property for the response status

    • warning

      added the new mandate_policy_violation enum value to the response property for the response status

    • warning

      added the new mandate_revoked enum value to the response property for the response status

    • warning

      added the new mandate_revoked enum value to the response property for the response status

    • warning

      added the new mandate_revoked enum value to the response property for the response status

    • warning

      added the new mandate_revoked enum value to the response property for the response status

    • warning

      added the new subscription_limit_exceeded enum value to the response property for the response status

    • warning

      added the new subscription_limit_exceeded enum value to the response property for the response status

    • warning

      added the new subscription_limit_exceeded enum value to the response property for the response status

    • warning

      added the new subscription_limit_exceeded enum value to the response property for the response status

    • warning

      added the new mfa_challenge_not_found enum value to the response property for the response status

    • warning

      added the new mfa_challenge_not_found enum value to the response property for the response status

    • warning

      added the new mfa_challenge_not_found enum value to the response property for the response status

    • warning

      added the new mfa_challenge_not_found enum value to the response property for the response status

    • warning

      added the new operation_in_progress enum value to the response property for the response status

    • warning

      added the new operation_in_progress enum value to the response property for the response status

    • warning

      added the new operation_in_progress enum value to the response property for the response status

    • warning

      added the new operation_in_progress enum value to the response property for the response status