Now liquidity
knows who’s
trading
A pool that asks one question before it quotes: who is this? The answer is an ERC-8004 identity and the record attached to it, and the pool prices from it.
Five steps, one transaction
sends a swap, through whatever router it likes
the registry resolves the address to an agent id
a score, and the number of ratings it rests on
quotes a fee from the pool's own published policy
executes at that fee, or declines the swap
No extra call, no oracle round trip, no signature to collect beforehand. The lookup happens inside beforeSwap, and the agent does nothing it would not have done anyway.
Four answers, and a price for each
A pool declares what it charges each of the four, once, when it registers. After that the policy is immutable: what you will be quoted is knowable before you trade, and no key held by anybody can move it.
A pool may also set a floor. Below it, the pool declines the swap rather than pricing it — which is the difference between an expensive market and a closed one, and pools should be able to choose either.
| Tier | What it means | Quoted |
|---|---|---|
| Unknown | No ERC-8004 identity resolves for this address. | unknown rate |
| Unproven | An identity, but fewer ratings than the pool's minimum. | unknown rate |
| Known | An identity and a score below the pool's trusted line. | base rate |
| Trusted | An identity and a score at or above the trusted line. | best rate |
v4 does not tell a hook who is trading
It hands the hook the address that called the PoolManager. For any real trade that is a router, not the agent.
A reputation hook that graded that address would give every agent behind a router the same tier, and would look like it was working the whole time. It is the single thing that makes this problem harder than it sounds, so INKR resolves in three steps and states what each one is worth.
The declared path exists because the direct one cannot serve everybody: under ERC-4337 the sender of the transaction is the bundler. A smart-account agent passes its id and is checked against the registry instead.
The permissions are the guarantee
The hook is never called on an add or a remove. It cannot trap a position, and a provider can always leave.
It cannot take a cut of a trade or alter its amounts. It names a fee, or it declines. That is the whole power it has.
Pool policies are written once by whoever registers the pool. There is no owner and no setter that can raise your fee afterwards.