# Organization API: Customer Portal: Crypto

> The 7 Organization API operations for crypto.

Source: https://www.coritan.com/docs/api/reference/organizations/customer-portal/crypto/

Part of [Customer Portal](/docs/api/reference/organizations/customer-portal/).

## Operations

| Method | Path | Summary |
| --- | --- | --- |
| GET | [`/api/v1/orgs/{org_slug}/portal/crypto/address`](#op-get-api-v1-orgs-org-slug-portal-crypto-address) | This customer's permanent deposit address for the network's family |
| GET | [`/api/v1/orgs/{org_slug}/portal/crypto/assets`](#op-get-api-v1-orgs-org-slug-portal-crypto-assets) | Assets this storefront can accept right now |
| POST | [`/api/v1/orgs/{org_slug}/portal/crypto/check`](#op-post-api-v1-orgs-org-slug-portal-crypto-check) | Look for this customer's payment now, and say where it stands |
| GET | [`/api/v1/orgs/{org_slug}/portal/crypto/deposits`](#op-get-api-v1-orgs-org-slug-portal-crypto-deposits) | Deposit history, including transfers still confirming |
| GET | [`/api/v1/orgs/{org_slug}/portal/crypto/deposits/{deposit_id}`](#op-get-api-v1-orgs-org-slug-portal-crypto-deposits-deposit-id) | One deposit, for polling while it confirms |
| GET | [`/api/v1/orgs/{org_slug}/portal/crypto/plan`](#op-get-api-v1-orgs-org-slug-portal-crypto-plan) | Every way to pay this amount in crypto, cheapest first |
| GET | [`/api/v1/orgs/{org_slug}/portal/crypto/quote`](#op-get-api-v1-orgs-org-slug-portal-crypto-quote) | How much to send for a target USD credit, itemised |

### This customer's permanent deposit address for the network's family {#op-get-api-v1-orgs-org-slug-portal-crypto-address}

`GET /api/v1/orgs/{org_slug}/portal/crypto/address`

This customer's permanent deposit address for the network's family.

Scoped to the org, so the same customer id under two different orgs gets two
different addresses and their deposits can never be confused.

#### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `org_slug` | path | string | yes |  |
| `network` | query | string | yes | Network key, e.g. base or bitcoin |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Assets this storefront can accept right now {#op-get-api-v1-orgs-org-slug-portal-crypto-assets}

`GET /api/v1/orgs/{org_slug}/portal/crypto/assets`

Assets this storefront can accept right now.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Look for this customer's payment now, and say where it stands {#op-post-api-v1-orgs-org-slug-portal-crypto-check}

`POST /api/v1/orgs/{org_slug}/portal/crypto/check`

Look for this customer's payment now, and say where it stands.

The org portal counterpart of the platform check. An org customer waiting on
a crypto payment has exactly the same question as a platform one, and the
storefront SPA they are served has the same refresh button.

Rate limited per org customer, and the chain read inside is throttled per
address, so several open tabs cost one read rather than one each.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `org_slug` | path | string | yes |

#### Request body

`application/json`

Type: object or null.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Deposit history, including transfers still confirming {#op-get-api-v1-orgs-org-slug-portal-crypto-deposits}

`GET /api/v1/orgs/{org_slug}/portal/crypto/deposits`

Deposit history, including transfers still confirming.

#### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `org_slug` | path | string | yes |  |
| `limit` | query | integer | no | Default: `50`. |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### One deposit, for polling while it confirms {#op-get-api-v1-orgs-org-slug-portal-crypto-deposits-deposit-id}

`GET /api/v1/orgs/{org_slug}/portal/crypto/deposits/{deposit_id}`

One deposit, for polling while it confirms.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `deposit_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Every way to pay this amount in crypto, cheapest first {#op-get-api-v1-orgs-org-slug-portal-crypto-plan}

`GET /api/v1/orgs/{org_slug}/portal/crypto/plan`

Every way to pay this amount in crypto, cheapest first.

The org counterpart of the platform plan endpoint. It answers the question
a customer has ("how much do I send to end up with $X?") instead of
showing a rate and leaving them the arithmetic, and says outright when a
chain's fee would eat the payment.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `org_slug` | path | string | yes |
| `amount` | query | number or string | yes |
| `invoice_id` | query | integer or null | no |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### How much to send for a target USD credit, itemised {#op-get-api-v1-orgs-org-slug-portal-crypto-quote}

`GET /api/v1/orgs/{org_slug}/portal/crypto/quote`

How much to send for a target USD credit, itemised.

Quoting with ``invoice_id`` records a payment intent, which is what locks
the rate and lets the deposit settle that invoice when it lands instead of
arriving as a balance the customer then has to spend by hand.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `org_slug` | path | string | yes |
| `network` | query | string | yes |
| `asset` | query | string | yes |
| `amount` | query | number or string | yes |
| `invoice_id` | query | integer or null | no |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |
