Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Fees

Overview

One of the primary goals of the Radius Network is to offer low, predictable fees for stablecoin transfers. Currently, stablecoin transfers occur in SBC and are executed as an ERC-20 transaction. The average cost of a stablecoin transfer on Radius is 0.0001 USD.

Radius Network fees are paid in RUSD, however it is not required to hold RUSD to participate on the network. For users who have SBC but do not have RUSD, Radius Network conducts a free exchange of SBC for RUSD as part of a single transaction, via the Turnstile. The exchange rate between SBC and RUSD is designed to be 1:1 1.

ParameterValue
Target SBC Transfers per 1 USD100,000
Gas Price9.8599881e-11 RUSD

Turnstile

For a caller with SBC but insufficient RUSD to cover the gas cost of the transaction, an automatic, zero-fee conversion is conducted prior to the transaction being executed 2.

Currently, Turnstile execution consumes $0.1$ SBC and returns $0.1$ RUSD. This is sufficient to cover the fees of 10,000 standard SBC transactions. In the scenario where the gas cost of the transaction is greater than $0.1$ RUSD, the turnstile will execute with a multiple of the minimum conversion amount to cover the cost.

ParameterValue
Turnstile Minimum Conversion Amount0.1 SBC
Turnstile Conversion Amount per Execution0.1 RUSD

The turnstile executes the transfer function on the SBC contract. Log events from execution of the turnstile are contained in the transaction receipt as a result. The call to transfer on the SBC contract does not contribute to the gas cost of the transaction for the caller. Turnstile execution gasUsed is also not added to the receipt's gasUsed field either.

The turnstile is not executed in cases of pure RUSD transfers.

Modified RPC Behavior

This feature is enabled and designed to be transparent for all users. For developers familiar with the Ethereum JSON-RPC API, there are some differences in behavior caused by the Turnstile, which are worth noting.

eth_sendRawTransaction

When a user submits a signed transaction:

  • If they have enough RUSD to cover the gas cost of the transaction, it executes normally
  • If they lack RUSD but have sufficient SBC, the Turnstile executes inline
    • The transaction receipt will contain log events for the SBC conversions

eth_call and eth_estimateGas

When you simulate or estimate transaction costs:

  • If a user would lack RUSD to complete the operation, but has sufficient SBC, the simulation includes Turnstile execution

eth_getBalance

When wallets check user balances:

  • The returned balance includes native tokens the user currently holds plus the native token equivalent of their convertible stablecoins
  • The balance reflects the total gas-paying power available to the user

rad_getBalanceRaw

  • When you want to know the balance of an address in RUSD without simulating turnstile conversion, you can use the rad_getBalanceRaw method.
curl -X POST https://rpc.testnet.radiustech.xyz \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"rad_getBalanceRaw","params":["0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18"],"id":1}'
 
Response:
```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x1fe9202d5dc751b9"
}

Footnotes

  1. However, it is worth noting that RUSD is always represented with 18-decimal places, whereas SBC is 6-decimal places. This may be different with other stablecoins. So, with SBC, $10^6$ of the minimum amount of SBC is equivalent to $10^18$ of the minimum amount of RUSD.

  2. In the case that the caller also has insufficient SBC to convert, the transaction will fail.