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 onintents.near
(thatâs the Verifier). -
The
token_diff
andtransfer
events show:-
2in1.near
:wrap.near: -49950000000000000000000
(-0.04995 wNEAR) andUSDC: +130479
(+0.130479 USDC), plus a separate transfer of0.0005 wNEAR
toapp-fee.near
. -
Refund/top-up:
defuse-relay.near â 2in1.near
of1170
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:130479
â 0.130479 USDC,1170
â 0.001170 USDC.
How to read any NEAR Intents transaction (step-by-step)
-
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.
-
-
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.
-
-
Add any fees or refunds
Still in Logs:-
Look for
transfer
with memoAPP_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 yourtoken_diff
to get the true total.
-
-
Identify the solver & route (optional)
Youâll see atoken_diff
for an account likesolver-priv-liq.near
. Thatâs the market maker who fulfilled your intent (they receive what you spent and send what you got). -
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
usingexecute_intents
; solver:solver-priv-liq.near
; refund memo: âbetter quote was found.
please login with NEAR
Updated: August 14, 2025
Top comment
Every my swap becomes a separate contract, wich verifier encodes from human to machine language, and fulfill like limit order, right ?How about approve ? Is this realized through the vault?
đ§ 100% userUnderstanding how any NEAR Intent transaction works is really good. It helps a user have a good knowledge about what is actually going on during the process and not just the results!
đ§ 100% user