Skip to content

Accounts ​

A UTN Wallet account is a smart account controlled by a passkey. The passkey never goes to your server, to the relay, or into a transaction.

Creating one ​

Create a wallet runs Create wallet with passkey and stores the account in the browser. The address is computed from the passkey public key and the account factory. Index 0 uses factory v1. A later account on the same passkey uses factory v2.

The account contract may not exist on chain yet. The first transaction deploys it. Until then, signature checks use the factory's predicted address.

Recovery ​

Two mechanisms exist in the wallet:

  • Sign in with passkey on another browser. The device prompt returns the same passkey if the platform synced it (iCloud Keychain or Google Password Manager).
  • Recovery phrase in Settings. That adds a secp256k1 signer on the account with addKey. Importing a key, a phrase, or a backup file is the advanced path on the welcome screen.

guardian is null on this testnet. There is no operator reset of a passkey account here.

Relay ​

The page calls eth_sendTransaction. The wallet script sends the signed operation to POST https://wallet.utn.network/relay/send. The relay checks the call, pays the gas from its own account, and submits the transaction. It does not receive the passkey.

For a personal account, the smart account refunds the relay in that same transaction. maxFee caps the refund. The page does not set the gas price.

GET https://wallet.utn.network/relay/info returns chainId, the factories, gasPrice, maxFee, maxCalls, and the relay address. On this testnet chainId is 20261003 and gasPrice is 476000000000.

Gas sponsoring ​

An organization can pay the gas instead of the member. The admin calls setSponsor on the organization (the relay address, enabled or not, and a monthly cap) and setGasBudget for the member. The wallet sends the operation with sponsor: true and maxFee: 0. The relay checks POST /relay/sponsor/check, pays the gas, then calls reimburseGas on the organization when both caps allow it.

Sponsored calls are calls to that organization and to contracts whose organization is that one. A personal send is not sponsored.

This is still gas. It is not a second fee. See Gas and fees.

Testnet coin T-RAIN · chain 20261003