---
title: "Set up a funding account"
method: POST
path: "/onramp/accounts"
tags: ["Onramp"]
---

# Set up a funding account

`POST /onramp/accounts`

## Request

- Base URL: `https://v1.orchestrator.rhinestone.dev/deposit-processor`
- URL: `https://v1.orchestrator.rhinestone.dev/deposit-processor/onramp/accounts`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/rhinestonewtf/apis/deposit-service-api/docs/onramp/accounts/post.ts> (a function with typed inputs; its response is checked against the schema)

Configures a bank account whose transfers deliver to the customer’s bound smart account. Bank transfers into it appear as orders at `GET /onramp/orders`.

## Headers

- `x-api-key` string: Integrator API key: the project’s orders
- `authorization` string: Customer bearer from `POST /compliance/sessions`, or a project-scoped platform bearer where the route permits tenant access

## Request body

- CreateOnrampAccountRequest
  - `provider` 'noah', required
  - `currency` 'EUR' | 'USD', required: Supported ISO 4217 fiat currency
  - `optionId` string, uuid: From `GET /onramp/options?provider=noah`; any matching option without

## Response `201`

The configured account

- OnrampAccountCreated
  - `account` OnrampAccount, required
    - `id` string, uuid, required
    - `currency` 'EUR' | 'USD', required: Supported ISO 4217 fiat currency
    - `status` 'pending' | 'active' | 'disabled', required

## Other responses

- `400`: Unknown option for this currency
- `401`: Missing or invalid bearer
- `403`: Not a customer bearer, the bearer no longer matches its customer, READ_ONLY_SESSION: the bearer came from a `resumeOnly` session, or PROVIDER_FORBIDDEN: the provider refuses the customer
- `404`: No such account for this customer, or bank transfer by virtual account is not provisioned for this project
- `409`: No bound smart account, the project is not configured for deposits, its whitelist or session coverage rejects the delivery route, the bound account is an offramp account, or `VERIFICATION_REQUIRED`: the customer must resume verification for this currency
- `500`: Internal failure serving the request
- `502`: PROVIDER_UNAVAILABLE: the provider did not answer; or PROVIDER_REJECTED: it refused the request (`providerError`)
- `503`: Onramp is not configured

## Changes

- **2026-11-06** `aa1767d704fa`: 32 warning, 9 info
  - added the new `PROVIDER_FORBIDDEN` enum value to the `code` response property for the response status `400`
  - added the new `PROVIDER_FORBIDDEN` enum value to the `code` response property for the response status `401`
  - added the new `PROVIDER_FORBIDDEN` enum value to the `code` response property for the response status `403`
  - added the new `PROVIDER_FORBIDDEN` enum value to the `code` response property for the response status `404`
  - …37 more
- **2026-10-07** `8b74181ef9e2`: 8 info
  - added the optional property `code` to the response with the `400` status
  - added the optional property `code` to the response with the `401` status
  - added the optional property `code` to the response with the `403` status
  - added the optional property `code` to the response with the `404` status
  - …4 more
- **2026-10-02** `2a4550fcca0f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rhinestonewtf/apis/deposit-service-api/changes/onramp/accounts/post.md)

---

[API](https://skmtc.dev/rhinestonewtf/apis/deposit-service-api.md) - [All operations](https://skmtc.dev/rhinestonewtf/apis/deposit-service-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rhinestonewtf/apis/deposit-service-api/revisions/aa1767d704fa?raw)
