Step 5: Fetch a quote for transaction execution

Transaction initiation involves providing input parameters and receiving an execution quote.

Supported Transaction Types

  1. Swap

  2. Transfer

  3. Calldata Execution (coming soon)

All transaction types spend from the aggregated balance, enabling cross-chain functionality by accessing multiple chains simultaneously. Along with the quote, the application will receive the transactions for user signing.

Execution Chain Selection

At this stage, assets delivery or execution occurs on a single chain. The application can either set this chain explicitly or let routing logic determine it based on preferences and use cases.

Here’s an example of how to initiate a transaction and fetch the quote for a swap:

fetch('https://be.onebalance.io/api/quotes/swap-quote', {
    method: "post",
    body: JSON.stringify({
      account: {
        accountAddress: '<YOUR ONEBALANCE SCA ADDRESS HERE>',
        sessionAddress: '<USER SIGNING ROLE KEY ADDRESS HERE>',
        adminAddress: '<ADMIN-ROLE KEY ADDRESS HERE>',
      },
      fromTokenAmount: '1000000',
      fromAggregatedAssetId: 'ob:usdc',
      toAggregatedAssetId: 'ob:usdt',
    }),
    headers: {
      "Content-Type": "application/json",
      "x-api-key": '<YOUR ONEBALANCE API KEY HERE>',
    },
  })

Above is an example of a 1 USDC to USDT swap request. Note that accountAddress is the OneBalance SCA address, and that sessionAddress and adminAddress are the same addresses you have used to derive the OneBalance SCA address via the /predict-address endpoint.

See this in more details in the sample application implementation here.

Last updated