> For the complete documentation index, see [llms.txt](https://docs.yifi.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yifi.io/api-reference/providers.md).

# Providers

Active liquidity providers and engine breakdown (`GET /v1/providers`)

## List liquidity providers

> Active CEX exchangers (\`engine: off-chain\`), active DEX exchangers (\`on-chain\`), and a single \`private\` provider when the private task queue is configured.\
> \
> \`id\` is the slug used as \`provider\` on quote/swap. Inactive exchangers are omitted. \`status\` on each item is always \`active\` for this catalog.\
> \
> \`aggregatedFrom\` / \`breakdown\` count those engine groups. KYC and legal fields are inherited from the admin provider catalog when a match exists.

```json
{"openapi":"3.0.0","info":{"title":"YiFi Swap Public API","version":"1.0"},"tags":[{"name":"Providers","description":"Active liquidity providers and engine breakdown (`GET /v1/providers`)"}],"servers":[{"url":"https://api.yifi.io","description":"Production"},{"url":"https://api-dev.yifi.io","description":"Development / Staging"}],"paths":{"/v1/providers":{"get":{"description":"Active CEX exchangers (`engine: off-chain`), active DEX exchangers (`on-chain`), and a single `private` provider when the private task queue is configured.\n\n`id` is the slug used as `provider` on quote/swap. Inactive exchangers are omitted. `status` on each item is always `active` for this catalog.\n\n`aggregatedFrom` / `breakdown` count those engine groups. KYC and legal fields are inherited from the admin provider catalog when a match exists.","operationId":"getProviders","parameters":[],"responses":{"200":{"description":"Provider catalog plus engine counts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AggregatorInfoResponseDto"}}}},"500":{"description":"Failed to fetch aggregator info","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable code (`COIN_NOT_FOUND`, `RATE_EXPIRED`, `INVALID_API_KEY`, `HTTP_EXCEPTION` for class-validator, …)"},"message":{"description":"Human-readable message. Class-validator 400s may return a string **array** of constraint texts.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"requestId":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"details":{"description":"Present for some validation (4xx) errors when thrown with `details`.","oneOf":[{"type":"object","additionalProperties":true},{"type":"array"}]}},"required":["code","message","requestId","timestamp"]}}}}}}},"summary":"List liquidity providers","tags":["Aggregator","Providers"]}}},"components":{"schemas":{"AggregatorInfoResponseDto":{"type":"object","properties":{"providers":{"description":"Active liquidity providers","type":"array","items":{"$ref":"#/components/schemas/AggregatorProviderDto"}},"totalProviders":{"type":"number","description":"Total number of providers in the response"},"aggregatedFrom":{"description":"Engine categories represented in the catalog","type":"array","items":{"type":"string"}},"breakdown":{"type":"object","description":"Count of providers per engine type"}},"required":["providers","totalProviders","aggregatedFrom","breakdown"]},"AggregatorProviderDto":{"type":"object","properties":{"id":{"type":"string","description":"Provider slug used in quote and swap requests"},"name":{"type":"string","description":"Display name of the provider"},"logoUrl":{"type":"object","description":"Provider logo URL","nullable":true},"engine":{"type":"string","description":"Swap engine for this provider","enum":["on-chain","off-chain","private"]},"status":{"type":"string","description":"Current operational status","enum":["active","inactive","maintenance"]},"kycLevel":{"type":"number","description":"KYC level inherited from the provider: 0 = No KYC, 1 = Rare KYC, 2 = Regular KYC","enum":[0,1,2]},"kycLevelName":{"type":"string","description":"KYC level display name"},"legal":{"description":"Provider legal documents (Terms of Use, etc.)","type":"array","items":{"$ref":"#/components/schemas/ProviderLegalDocumentDto"}},"description":{"type":"string","description":"Provider description for the public catalog"}},"required":["id","name","engine","status"]},"ProviderLegalDocumentDto":{"type":"object","properties":{"docName":{"type":"string","description":"Document title"},"docLink":{"type":"string","description":"Official document URL"}},"required":["docName","docLink"]}}}}
```
