---
title: "Get default configuration for token"
method: GET
path: "/v1/config/default/{token}"
tags: ["User Configuration"]
---

# Get default configuration for token

`GET /v1/config/default/{token}`

Retrieves the default pool configuration state for a specific token including domain IDs, protocol IDs, and pool contract addresses.

This endpoint returns the initial default configuration that shows how the system is set up for the specified token. The configuration includes:
- **Domain IDs**: Cross-chain domain identifiers for the token
- **Protocol IDs**: Identifiers of the supported DeFi protocols (e.g., Aave, Morpho, Euler)
- **Pool Contracts**: Smart contract addresses for the respective pools
- **Rebalancing Manager Address**: The address of the rebalancing manager contract

This represents the default state of the configuration, which can be used as a reference or starting point for rebalancing operations. Use this to compare against user's existing configuration.

**Rate limiting**: 1 request per 3 seconds per client IP. Excess requests receive HTTP `429` with `Retry-After`, `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset` headers (see `RateLimitExceeded` response).

## Path parameters

- `token` 'USDC' | 'MUSD' | 'USDT' | 'RLUSD' | 'USDG' | 'USDE' | 'PYUSD', required

## Response `200`

Default configuration retrieved successfully

- GetDefaultConfigResponse
  - `token` string, required — Token symbol
  - `rebalancingManagerAddress` string, required — RebalancingManager contract address
  - `domainIds` integer[], required — Default domain IDs - match index values of protocolIds and poolAddresses
  - `protocolIds` integer[], required — Default protocol IDs - match index values of domainIds and poolAddresses
  - `poolAddresses` string[], required — Default pool contract addresses - match index values of domainIds and protocolIds

## Other responses

- `400` — Validation error
- `401` — No authorization header provided
- `429` — Too many requests for this endpoint. Limits are enforced per client IP for the public API routes backed by `RebalancerResource` (and related resources using the same filter). Response headers (when throttled): - `Retry-After`: seconds to wait before retrying (matches the rate-limit window duration for that endpoint). - `X-RateLimit-Limit`: maximum requests allowed in the window (e.g. `1`). - `X-RateLimit-Remaining`: remaining requests in the window (`0` when throttled). - `X-RateLimit-Reset`: Unix timestamp (seconds) when the limit window resets. `internalCode` in the JSON body is `THROTTLE_PER_IP` for IP-scoped limits (other values may apply for different scopes in the backend).
- `500` — Internal server error

---

[API](https://skmtc.net/metalend/apis/metalend-rebalancing-api.md) · [All operations](https://skmtc.net/metalend/apis/metalend-rebalancing-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/metalend/metalend-rebalancing-api/versions/1b9900a9e91e/schema)
