# Getting Started

Build MYRC-native applications with BLOX APIs. Integrate Wallet, Onramp, and Payout into your platform.

> **Want working code first?** Follow the product guides: [Wallet](/api/wallet-api/overview#step-by-step-guide) · [Onramp](/api/onramp-api/overview#step-by-step-guide) · [Payout](/api/payout-api/overview#step-by-step-guide).

## API products

<div className="feature-grid">
  <a href="/api/wallet-api/overview" className="feature-card">
    <h4>Wallet API</h4>
    <p>Transfer MYRC and withdraw fiat programmatically.</p>
  </a>

  <a href="/api/onramp-api/overview" className="feature-card">
    <h4>Onramp API</h4>
    <p>Create checkout links for customers to pay and receive MYRC.</p>
  </a>

  <a href="/api/payout-api/overview" className="feature-card">
    <h4>Payout API</h4>
    <p>Send bank payouts from a prefunded balance.</p>
  </a>
</div>

## First call in 5 minutes

:::steps
### Get API credentials

Contact the BLOX team to enable API key access for your account (sandbox and production). Register a signer public key with your key.

### Authenticate

* **API Key** — `blox-api-key` header (or `Authorization: Bearer`)
* **Request Signature** — RFC 9421 for POST/PUT/PATCH/DELETE

Reads need only the key. See [Request Signing](/api/authentication/signature) when you write.

### Call health

<LanguageTabs>
  <LanguageTab>
    ```bash
    curl "https://api.sandbox.blox.my/v1/health" \
      -H "blox-api-key: $BLOX_API_KEY"
    ```
  </LanguageTab>

  <LanguageTab>
    ```javascript
    const response = await fetch("https://api.sandbox.blox.my/v1/health", {
      headers: { "blox-api-key": process.env.BLOX_API_KEY },
    });
    if (!response.ok) throw new Error(await response.text());
    console.log(await response.json());
    ```
  </LanguageTab>

  <LanguageTab>
    ```python
    response = requests.get(
        "https://api.sandbox.blox.my/v1/health",
        headers={"blox-api-key": os.environ["BLOX_API_KEY"]},
        timeout=10,
    )
    response.raise_for_status()
    print(response.json())
    ```
  </LanguageTab>

  <LanguageTab>
    ```go
    req, _ := http.NewRequest(
    	"GET",
    	"https://api.sandbox.blox.my/v1/health",
    	nil,
    )
    req.Header.Set("blox-api-key", os.Getenv("BLOX_API_KEY"))
    response, err := http.DefaultClient.Do(req)
    if err != nil {
    	log.Fatal(err)
    }
    defer response.Body.Close()
    io.Copy(os.Stdout, response.Body)
    ```
  </LanguageTab>

  <LanguageTab>
    ```java
    var request = HttpRequest.newBuilder()
        .uri(URI.create("https://api.sandbox.blox.my/v1/health"))
        .header("blox-api-key", System.getenv("BLOX_API_KEY"))
        .GET()
        .build();
    var response = HttpClient.newHttpClient().send(
        request,
        HttpResponse.BodyHandlers.ofString()
    );
    System.out.println(response.body());
    ```
  </LanguageTab>

  <LanguageTab>
    ```csharp
    using var client = new HttpClient();
    client.DefaultRequestHeaders.Add(
        "blox-api-key",
        Environment.GetEnvironmentVariable("BLOX_API_KEY")
    );
    var response = await client.GetAsync(
        "https://api.sandbox.blox.my/v1/health"
    );
    response.EnsureSuccessStatusCode();
    Console.WriteLine(await response.Content.ReadAsStringAsync());
    ```
  </LanguageTab>
</LanguageTabs>
:::

```json
{
  "success": true,
  "message": "API key is valid",
  "account": {
    "id": "c741a292-5682-4b75-8f49-ebd87e7785a1",
    "name": "Your Business Name",
    "type": "BUSINESS",
    "status": "ACTIVE"
  }
}
```

Bases and chains: [Environments](/api/environments).

## Typical flows

| Product | Flow |
|---------|------|
| Onramp | Create checkout → customer pays → webhook / status poll |
| Wallet | Create transfer or fiat withdrawal → poll it by ID |
| Payout | Prefund → create payout → webhook / status poll |

See [Integration Flows](/api/guide-on-off-ramp) for Mermaid sequence diagrams and step-by-step pointers.

## Next

<div className="feature-grid">
  <a href="/api/guide-on-off-ramp" className="feature-card">
    <h4>Integration Flows</h4>
    <p>Onramp, Wallet, and Payout sequence diagrams</p>
  </a>

  <a href="/api/authentication/overview" className="feature-card">
    <h4>Authentication</h4>
    <p>API keys and request signing</p>
  </a>

  <a href="/api/idempotency" className="feature-card">
    <h4>Idempotency</h4>
    <p>Retry a write safely — and when you must not</p>
  </a>

  <a href="/api/webhooks" className="feature-card">
    <h4>Webhooks</h4>
    <p>Shared delivery and signature verification</p>
  </a>

  <a href="/api/errors" className="feature-card">
    <h4>Errors</h4>
    <p>HTTP status codes and error bodies</p>
  </a>

  <a href="/api/rate-limits" className="feature-card">
    <h4>Rate Limits</h4>
    <p>Sandbox and production quotas</p>
  </a>
</div>

## For LLMs & agents

Machine-readable docs for coding agents and chat tools:

* <a href="/llms.txt"><code>/llms.txt</code></a> — curated index of every page with one-line descriptions
* <a href="/llms-full.txt"><code>/llms-full.txt</code></a> — full docs concatenated as markdown
* Per-page raw markdown under `/assets/md/`, at the page's path with `.md` appended (e.g. <a href="/assets/md/api/getting-started.md"><code>/assets/md/api/getting-started.md</code></a>), or use **Copy as Markdown** on any page

## Support

* **Email**: support@blox.my
* **GitHub**: [github.com/Blox-My](https://github.com/Blox-My)
