# Quickstart

Use the mock API to test the full client integration flow without sending real funds.

## 1. Configure Environment

Use the mock API key shared with you by Artum and keep it on your backend only.

```bash
export ARTUM_API_BASE_URL="https://mock.artum.app"
export ARTUM_MOCK_API_KEY="replace_with_your_key"
```

## 2. Check Supported Chains

```bash
curl "$ARTUM_API_BASE_URL/v1/chains" \
  -H "Authorization: Bearer $ARTUM_MOCK_API_KEY"
```

## 3. Check Supported Assets

```bash
curl "$ARTUM_API_BASE_URL/v1/chains/bsc-mainnet/assets" \
  -H "Authorization: Bearer $ARTUM_MOCK_API_KEY"
```

## 4. Create a Payment

Use an `expires_at` timestamp around 30 minutes in the future for real tests. The timestamp below is only an example.

```bash
curl -X POST "$ARTUM_API_BASE_URL/v1/payments" \
  -H "Authorization: Bearer $ARTUM_MOCK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order_1001_create_payment" \
  -H "X-Artum-Mock-Scenario: happy_path" \
  -d '{
    "order_id": "order_1001",
    "receive": {
      "chain": "bsc-mainnet",
      "asset": "bsc-usdt",
      "amount": "100000000000000000000",
      "address": "0x8ba1f109551bD432803012645Ac136ddd64DBA72"
    },
    "settlement": {
      "mode": "same_chain_merchant_payout"
    },
    "pay_with": [
      {
        "chain": "bsc-mainnet",
        "asset": "bsc-usdt"
      }
    ],
    "refund_to": {
      "chain": "bsc-mainnet",
      "address": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F"
    },
    "expires_at": "2026-05-13T15:30:00Z",
    "metadata": {
      "customer_id": "cus_1001"
    }
  }'
```

The response contains a `payment.id`, payment `status`, and invoice instructions inside `attempts[0].instructions`.

## 5. Poll Payment Status

```bash
curl "$ARTUM_API_BASE_URL/v1/payments/pay_mock_000001" \
  -H "Authorization: Bearer $ARTUM_MOCK_API_KEY"
```

Use the `id` returned by your own create payment response.

For the `happy_path` scenario, mock funding appears as an observed deposit first, then progresses through `4/16`, `8/16`, `12/16`, and `16/16` confirmations before finalizing.

For the full request field reference, see [Create a Payment](/payments/create-payment.md). For scenario behavior, see [Mock Scenarios](/mock-api/mock-scenarios.md).

## Interactive Testing

Swagger is available at <https://mock.artum.app/swagger/>.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.artum.app/get-started/quickstart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
