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

# V1.0.7

# Monaco Protocol SDK v1.0.7

This release changes `faucet.mint()` to confirm on-chain before resolving, and fixes balance re-fetch consistency immediately after a live balance update.

## Changed

### `faucet.mint()` now confirms on-chain before resolving

`sdk.faucet.mint()` previously resolved with a partial-success body that you inspected via `minted` and `failed` — even when some or all mints failed. It now resolves **only** when every faucet transaction has confirmed on-chain, and **throws** otherwise:

| Condition | Status | Handling |
| - | - | - |
| All tokens minted and confirmed | `200` | Resolves; `failed` is empty |
| Daily quota exhausted | `429` | Throws; retry after the 24h window resets |
| Some or all mints failed / only partially confirmed | `502` | Throws; the error carries the minted/failed breakdown. Delivered legs still count against the daily quota |
| Faucet temporarily unavailable | `503` | Throws; safe to retry |

Move partial-failure handling out of the response body and into a `try/catch`:

```typescript theme={null}
try {
  const { minted, remainingRequests24h } = await sdk.faucet.mint();
  // every token in `minted` is confirmed on-chain
  console.log(`Minted ${minted?.length ?? 0} tokens, ${remainingRequests24h} requests left`);
} catch (err) {
  // 429 quota exhausted, 502 mint failed/partial, 503 unavailable (safe to retry)
  console.warn("Faucet mint did not fully succeed", err);
}
```

The `MintTokensResponse` shape is unchanged — on a successful resolve, `failed` is empty.

## Fixed

### Balances re-fetch is consistent after a live update

Re-fetching balances immediately after a `balances` WebSocket event — `sdk.profile.getUserBalances()`, `sdk.profile.getUserBalanceByAssetId()`, or the equivalent `GET /api/v1/accounts/balances` and gRPC `AccountsService.GetBalances` — now reflects that update instead of occasionally returning stale data. No method arguments or response fields changed.

## Upgrade

```bash theme={null}
npm install @0xmonaco/core@1.0.7 @0xmonaco/types@1.0.7 @0xmonaco/react@1.0.7
# or bun
bun add @0xmonaco/core@1.0.7 @0xmonaco/types@1.0.7 @0xmonaco/react@1.0.7
```

`faucet.mint()` now throws on quota-exhausted, failed, or partial mints instead of resolving with a populated `failed` array — update any success-path code that inspected `failed` to catch a thrown error instead. No field names, endpoint paths, or authentication requirements changed.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.