How to read any NEAR Intents transaction (step-by-step)

3 min read

With NEAR Intents, you say what outcome you want (e.g., “swap my NEAR for USDC”) and a network of solvers competes to do it for you. A Verifier smart contract called intents.near checks the plan and executes it atomically on-chain—so you just get the result.

The sample transaction at a glance

Transaction: 34z1kKJS5SKiFoCNxzHhE956mFiTNpBYJd9wEtRCCvns (Execution tab)
What happened (net):

  • User 2in1.near swapped ~0.04995 wNEAR for ~0.131649 USDC.

  • An app fee of 0.05 wNEAR was paid to app-fee.near, plus tiny ops fees (≈ 0.00004995 wNEAR and 0.000001 USDC).

  • A small USDC top-up (0.001170 USDC) with memo “better quote was found” was added to the user—meaning a solver improved the price during execution.

Why this matches the chain data:

  • You’ll see the method execute_intents called on intents.near (that’s the Verifier).

  • The token_diff and transfer events show:

    • 2in1.near: wrap.near: -49950000000000000000000 (-0.04995 wNEAR) and USDC: +130479 (+0.130479 USDC), plus a separate transfer of 0.0005 wNEAR to app-fee.near.

    • Refund/top-up: defuse-relay.near → 2in1.near of 1170 USDC units (+0.001170 USDC) with memo “better quote was found.”

    • Solver side: solver-priv-liq.near sends USDC and receives wNEAR, with tiny ops dust fees also logged.

Decimal cheat-sheet:
NEAR/wNEAR use 24 decimals (divide by 10²⁴).
USDC on NEAR uses 6 decimals (divide by 10⁶).
In this tx: 1304790.130479 USDC, 11700.001170 USDC.

How to read any NEAR Intents transaction (step-by-step)

  1. Confirm it’s an Intents tx
    On Nearblocks → Execution tab:

    • To / contract: intents.near

    • Method: execute_intents
      That tells you the Verifier executed an Intent.

  2. Find the user’s net in/out (“what changed for me?”)
    In Logs → token_diff for your account (e.g., 2in1.near):

    • Negative number = you spent that token

    • Positive number = you received that token
      Convert using decimals (NEAR 24, USDC 6). In our sample: -0.04995 wNEAR and +0.130479 USDC.

  3. Add any fees or refunds
    Still in Logs:

    • Look for transfer with memo APP_FEE (that’s an app fee you paid—in our sample 0.0005 wNEAR).

    • Look for a “better quote was found” transfer (that’s a top-up to you—in our sample 0.001170 USDC).

    • Tiny ops/housekeeping fees also appear (e.g., 0.00004995 wNEAR, 0.000001 USDC).
      Sum them with your token_diff to get the true total.

  4. Identify the solver & route (optional)
    You’ll see a token_diff for an account like solver-priv-liq.near. That’s the market maker who fulfilled your intent (they receive what you spent and send what you got).

  5. Sanity-check the price (optional)
    Divide USDC received by NEAR swapped. In the sample:
    0.131649 ÷ 0.04995 ≈ 2.636 USDC/NEAR (after the tiny top-up). Exact price will depend on the solver’s route/liquidity at execution time.


Mini glossary (super short)

  • Intent: Your requested outcome (e.g., “swap X for Y”). The Verifier executes it atomically on-chain.

  • Verifier (intents.near): The on-chain contract that checks and settles intents.

  • Solver: A market maker/agent competing to fulfill your intent at a good price.

  • wNEAR vs NEAR: The same asset; wNEAR is the token format that smart contracts use. (24 decimals.)

  • USDC on NEAR: NEP-141 token (eth-0xa0b8…omft.near), 6 decimals.


TL;DR of the sample

  • You swapped: ~0.04995 wNEAR → ~0.131649 USDC

  • You also paid: 0.0005 wNEAR app fee (+ tiny ops dust), so ~0.1 NEAR total left your wallet—which matches your original “swap 0.1 NEAR” expectation once fees are included.

  • Executed by: intents.near using execute_intents; solver: solver-priv-liq.near; refund memo: “better quote was found.

Updated: August 13, 2025

Leave a Comment


To leave a comment you should to:


Scroll to Top