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

# Frequently asked questions

> Answers about access, transfer progress, refunds, supported chains, and Sauce.

## Access

<AccordionGroup>
  <Accordion title="Do I need an API key?">
    The Routes API v1 requires `x-api-key` for quotes, funding submissions, status, chains, and tokens. Circle Gateway endpoints have separate access rules. See [API access and conventions](/api-reference/introduction).
  </Accordion>

  <Accordion title="How do I request access?">
    [Contact Eco](mailto:contact@eco.com) for API keys and integration questions. Sauce access uses [partners@eco.com](mailto:partners@eco.com). See [Get set up](/get-started/setup).
  </Accordion>

  <Accordion title="Why was my API key rejected?">
    Check the environment, header, and key permissions. Use the returned status and error body to distinguish a missing key, invalid key, or attribution failure. See [Errors and retries](/api-reference/errors).
  </Accordion>
</AccordionGroup>

## Transfers

<AccordionGroup>
  <Accordion title="How long does a transfer take?">
    Timing depends on the route, liquidity, source-chain confirmation, and any bridge or prover involved. A quote can include `steps[].estimatedDurationSec`; treat it as an estimate. Track the transfer through [intent status](/api-reference/v1/intent-status).
  </Accordion>

  <Accordion title="What happens if an intent is not fulfilled?">
    Its reward can become refundable under the deadline and proof conditions. A refund requires a transaction; an expired or refundable status does not establish that funds have returned. See [Vaults and resource locks](/concepts/vaults).
  </Accordion>

  <Accordion title="Does a filled intent mean the recipient has the final asset?">
    It means that intent's route was fulfilled. On a composite route, an intermediate intent can execute a source swap or CCTP burn before final delivery. Inspect the quote's steps and final destination transaction. See [Intent types](/resources/intent-types).
  </Accordion>

  <Accordion title="How do I verify a quote?">
    Verify its EIP-712 signature against the source chain's published `quoteSigner`, then validate the route, recipient, amounts, and expiry. See [Quote verification](/api-reference/quote-verification).
  </Accordion>

  <Accordion title="Is the quoted output amount guaranteed?">
    For an exact-input quote, `destination.amountOut` is the expected output and `destination.minAmountOut` is the stated minimum. Check that the executable route enforces your required output. If a fulfillment transaction cannot meet its encoded conditions, it can revert; that does not immediately execute a source refund. See [Request a quote](/api-reference/v1/quotes).
  </Accordion>

  <Accordion title="Why is no quote available for a listed token?">
    Listing a token does not guarantee liquidity for every pair or amount. Check the requested chains, token addresses, amount, and returned error. See [Supported chains and tokens](/resources/supported-chains-tokens).
  </Accordion>
</AccordionGroup>

## Deposit addresses

<AccordionGroup>
  <Accordion title="What if I fund less than the quoted amount?">
    Check the deposit product's funding threshold and deadline. For Circle Gateway deposits, use the quote and status response to determine whether funding is complete or recovery is required. See [Circle Gateway deposits](/programmable-addresses/circle-gateway-deposits).
  </Accordion>

  <Accordion title="Does PUBLISHED mean my Gateway balance is credited?">
    No. Publication precedes fulfillment and balance credit. Follow the intent and confirm the destination Gateway balance. See [Funding methods](/programmable-addresses/funding-methods#track-and-troubleshoot).
  </Accordion>
</AccordionGroup>

## Sauce

<AccordionGroup>
  <Accordion title="Do I need Sauce for destination calls?">
    No. Routes supports destination calls directly. Sauce adds programmable logic, such as reading state and selecting an execution branch. See [Destination calls](/routes/capabilities/destination-calls) and [Programmable Transactions](/programmable-transactions/overview).
  </Accordion>

  <Accordion title="Which runtime does the Sauce SDK require?">
    The documented `@eco-incorp/sauce` 0.99.4 release requires Node 24 or later for its Node APIs. Browser-compatible entry points are documented separately. See [Sauce SDK](/sdk-reference/sauce/overview).
  </Accordion>

  <Accordion title="What does Sauce execution cost?">
    Kitchen-mediated execution includes the configured native-token execution fee and transaction gas. Read the current fee before submitting. See [Sauce architecture and deployments](/programmable-transactions/sauce/architecture-and-deployments).
  </Accordion>

  <Accordion title="Where can I check compiler and deployment limitations?">
    Review the [compiler API](/sdk-reference/sauce-compiler/api) and [architecture and deployments](/programmable-transactions/sauce/architecture-and-deployments) for the versions you use. Compiler output, engine compatibility, and upgradeability are version-specific.
  </Accordion>
</AccordionGroup>

## Next steps

Use [Support](/resources/support) for unanswered questions or [Build with AI agents](/get-started/build-with-agents) to connect a coding agent to the docs.
