Skip to content

Feature Request: Batch Quotes & Portfolio-level Routing #364

@AlperenOzogul

Description

@AlperenOzogul

Is your feature request related to a problem?

The current SDK/API enforces a 1:1 mapping between requests and quotes, which becomes a bottleneck for multi-asset workflows (e.g., dust aggregation, portfolio rebalancing).

For a single user action requiring 10+ quotes, this leads to:

  • High latency due to multiple network round-trips
  • Rate limiting (429s) under concurrent usage
  • Client-side complexity, requiring custom throttling and concurrency control

In our dust aggregation implementation, we observed consistent 429 errors under concurrent quote requests across 10+ tokens (often spanning multiple chains).

To mitigate this, we implemented manual throttling, but this significantly degraded UX — scan times exceeded 8–12 seconds for a typical wallet.

This effectively shifts orchestration responsibility to the client, limiting scalability.


Describe the solution you'd like

Two enhancements would significantly improve this:

  1. Native Batch Quotes
POST /batch/quotes
  • Accepts multiple quote requests in a single call
  • Enables server-side parallelization
  • Reduces network and RPC overhead
  1. Portfolio-level Routing
POST /portfolio/route
  • Input: multiple source assets + target token
  • Output: a single optimized route for the entire portfolio intent

This enables one-shot operations like dust consolidation and rebalancing.


Describe alternatives you've considered

We currently use client-side concurrency control (e.g., p-limit) to stagger requests and avoid rate limits.

However, this is a workaround — native server-side batching would be more efficient and significantly reduce client complexity.


Additional context

This is particularly important for applications dealing with long-tail assets and automated rebalancing, where execution speed and UX responsiveness are critical.

Batch quote support would also be a foundational primitive for dust aggregation use cases — where collecting sub-$1 balances across 10+ chains requires fast, reliable multi-asset routing within a single user interaction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions