---
name: talise-bridge
description: Integrate the Talise Bridge API into an app so users can route supported source-chain tokens into USDsui or SUI on Sui. Use for chain and token discovery, quotes, live route creation, source-wallet submission, and delivery tracking.
---

# Talise Bridge integration

Use the live [OpenAPI specification](https://bridge.talise.io/bridge-api/openapi.yaml) as the field-level contract. The API base is `https://bridge.talise.io/api/v1/bridge`. Coverage changes; discover chains and tokens from the API rather than hard-coding a list. This API only routes **into Sui**, delivering `USDsui` or `SUI` to a Sui address.

## Build the flow

1. Call public `GET /chains`, then `GET /tokens?chainId=<id>`. Use the token `address` and `decimals` returned by the catalogue. Amounts sent to the API are positive decimal strings in **token base units**, never floating-point human amounts.
2. Collect the source wallet address, source token and amount, destination Sui address, and receive asset (`USDsui` or `SUI`). Call `POST /quotes` from your server with a Talise-issued key. This is an estimate only: it creates no payable route and contains **no source payment instructions**. Do not send funds to any address inferred from a quote.
3. After the user reviews the estimate, call `POST /routes` from your server with the same six input fields and a fresh, persisted `Idempotency-Key` (16–128 URL-safe characters). Save the returned route `id`, full route response, key, and order reference before asking the source wallet to sign. A successful creation is `201`; replaying the same key and body returns the same route with `200`.
4. Show the returned `from`, `to`, `estimate`, `fees`, and `expiresAt` for confirmation. Use **only** the live route's `source` instructions. For EVM routes, request any returned token `approval`, then submit `source.transaction` through the user's connected wallet on the specified chain. For deposit-address routes, send exactly `source.depositAmount` to `source.depositAddress` with `source.depositMemo` when present. On Solana, include both the deposit and `source.feePayment` in one signed source transaction. Validate chain, destination, amount, and expiry before signing. The user's wallet signs; Talise does not take its private key.
5. Persist the source transaction hash in your app and poll authenticated `GET /routes/{id}`. Treat `delivered` as success; show source and Sui transaction links when returned. If source submission times out, inspect the wallet/chain and poll the same route **before** offering another send. Do not create a new route or resubmit funds blindly.
6. Talise normally advances Sui conversion. `POST /routes/{id}/complete` may advance a route with a conversion leg; it is safe to retry but is unnecessary for a route with no conversion. Surface `needs_attention` for human support rather than inventing a refund or retry transaction.

## Server contract

Keep the API key on your server. Send `Authorization: Bearer <key>` for quotes, routes, status, and completion. Never embed it in browser/mobile code, log it, or expose it to the source wallet. The chain and token catalogues are public. Each key can create up to 10 routes/minute and 200/day, and request up to 30 quotes/minute and 1,000/day. Honor `429` and `Retry-After`.

Example request body for 10 USDC on Base:

```json
{
  "chainId": 8453,
  "token": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "amount": "10000000",
  "sender": "0xSOURCE_EVM_ADDRESS",
  "recipient": "0xDESTINATION_SUI_ADDRESS",
  "receive": "USDsui"
}
```

Resolve token addresses from `/tokens` in production even when using this example. An `Idempotency-Key` belongs to one exact request body. A `409` can mean creation is still processing or the key was reused for different parameters; inspect the response and retry the **same** key and body only when appropriate. Do not treat an HTTP timeout after source submission as a failed transfer.

For implementation details, see the [developer page](https://bridge.talise.io/developers/bridge). Obtain a partner key from Talise. Build and test catalogue/quote/status paths before a funded route; do not initiate a real source-chain transfer as an automated smoke test.
