Skip to main content
Read active locks with getPositionLocks. The endpoint is unauthenticated; no signature is required to query.

List locks for a pool

The response lists every active lock in the pool. Expired bounded locks are excluded; the server removes them lazily on the next read.

Filter by owner

Passing an owner public key scopes the response to that owner’s positions.

Lock data

Each LpLockInfo contains: For a V2 lock, tickLower and tickUpper are absent. For V3, both are present.

Checking a specific position

Interaction with other operations

A removeLiquidity, decreaseLiquidity, or rebalancePosition call on a locked position is rejected before any Spark transfer is made. No funds move. Callers can retry the operation after the lock expires. Read the duration before retrying. A bounded lock exposes its expiry as a Unix timestamp; an indefinite lock (isIndefinite === true) does not expose a release time.

Limitations

  • Locks are per-position, not per-pool. Locking one owner’s position does not affect another owner’s position in the same pool.
  • V3 locks match an exact (tickLower, tickUpper) pair. A position at a neighboring tick range is not covered.
  • There is no on-chain record of a lock. State lives in Flashnet alongside the rest of the pool state.

Next steps