Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.rhinestone.dev/llms.txt

Use this file to discover all available pages before exploring further.

With Rhinestone, you can bridge from multiple chains and/or multiple tokens. The API will automatically find the most optimal path, whether it’s a single- or multi-input intent.

Request

You can also influence the routing by specifying input tokens and chains via accountAccessList:
{
  "accountAccessList": {
    "chainIds": ["eip155:10", "eip155:8453"],
    "tokens": ["USDC"]
  }
}
Learn more about choosing the inputs in the “Getting a Quote” guide.

Response

In the case of multi-input bridging, you will get a route whose cost.input lists multiple entries (one per source chain and/or token), and signData.origin[] carries one entry per source chain.
Multi-Input Intent
{
  "routes": [
    {
      "intentId": "...",
      "cost": {
        "input": [
          {
            "chainId": "eip155:8453",
            "tokenAddress": "0x4200000000000000000000000000000000000006",
            "symbol": "WETH",
            "decimals": 18,
            "price": { "usd": 2412.37 },
            "amount": "22291303013436002"
          },
          {
            "chainId": "eip155:10",
            "tokenAddress": "0x0b2c639c533813f4aa9d7837caf62653d097ff85",
            "symbol": "USDC",
            "decimals": 6,
            "price": { "usd": 0.99 },
            "amount": "8370380"
          }
        ]
      },
      "signData": {
        "origin": [
          { /* typed data for eip155:8453 */ },
          { /* typed data for eip155:10 */ }
        ],
        "destination": { /* typed data for the destination */ }
      }
    }
  ]
}
If the user doesn’t have outstanding Permit2 approvals, they will need to approve multiple input tokens. The user will also need to sign each entry in signData.origin[] separately — one signature per input chain.