> ## Documentation Index
> Fetch the complete documentation index at: https://docs.otim.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting Started

> Create your Platform and make your first API call.

## 1. Request access

Sign up at [otim.com](https://otim.com) and request Platform access. Once approved, you will receive access to your dashboard and sandbox environment.

## 2. Get your API key

Navigate to the Developer section of your dashboard to create an API key. Include it in the `Authorization` header of every request:

```bash theme={null}
curl https://api.otim.com/v0/platform/settings \
  -H "Authorization: Bearer sk_..."
```

## 3. Configure your Platform

Set up your Platform settings to configure defaults for your Accounts, like auto-earn and your preferred chain.

```bash theme={null}
curl -X PATCH https://api.otim.com/v0/platform/settings \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "autoEarnEnabled": true,
    "autoEarnVault": "aave_usdc",
    "defaultChain": "base"
  }'
```

## 4. Create an Entity

An [Entity](/core-objects/entity) represents a person or business on your Platform. Creating an Entity kicks off the verification flow.

```bash theme={null}
curl -X POST https://api.otim.com/v0/entities \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "email": "alice@example.com",
    "type": "individual",
    "fullName": "Alice Smith"
  }'
```

The response includes `kycLink` and `tosLink`. Share these with the Entity so they can complete verification.

## 5. Create an Account

Once the Entity exists, create an [Account](/core-objects/account) to hold and move funds.

```bash theme={null}
curl -X POST https://api.otim.com/v0/accounts \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "entityId": "ent_01JA1B2C3D4E5F6G7H8J9K0L",
    "name": "Main Account"
  }'
```

The Account is automatically provisioned on your default chain. If auto-earn is enabled, idle balances will start earning yield immediately.

## 6. Send a transfer

Move funds from an Account to another Account or to an external [Counterparty](/core-objects/counterparty).

```bash theme={null}
curl -X POST https://api.otim.com/v0/transfers \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "sourceAccountId": "acc_01JA1B2C3D4E5F6G7H8J9K0L",
    "destinationAccountId": "acc_02XY9Z8W7V6U5T4S3R2Q1P0N",
    "amount": "100.00",
    "description": "Payment to vendor"
  }'
```

## Next steps

* Set up [Counterparties](/core-objects/counterparty) to send funds to external wallets or bank accounts
* Issue [IBANs](/core-objects/iban) to accept fiat deposits (requires a verified Entity)
* Browse the full [API reference](/api-reference/get-platform-settings)
