useClaim runs that call against the active session useSession holds. Call claim() with no arguments and it claims into the wallet EndstateProvider provisioned - it resolves the recipient address from the wallet for you.
status drives the UI from the button press to settlement: claiming while the request is in flight, settling once the claim is submitted and confirming, then the terminal claimed, expired, or failed. By default claim() polls to that terminal status before resolving.
Example
claim() with no to claims into the provisioned wallet. Pass to to claim into an address the customer already brings:
The claim call
string
The recipient’s EVM wallet address. Omit it and the hook resolves the address
from the provider’s wallet
(
useWallet), the common path for a
customer who brings none of their own."endstate_relay" | "client_broadcast"
default:"endstate_relay"
How the claim is submitted. The default,
endstate_relay, has Endstate submit
it for you - the single-call path this page shows. client_broadcast returns
a payload for you to broadcast yourself; that mode is a core concern, covered
in session.claims.create.string
Makes the claim safe to retry. Replaying the same key with the same body
returns the original claim; omit it and core generates one.
boolean
default:"true"
When
true (the default), claim() polls to a terminal status before it
resolves, so status and data land settled. Set it to false to resolve as
soon as the claim is submitted and observe settlement through status.Returns
(args?) => Promise<Claim>
Creates the claim and, unless
wait is false, polls it to settlement.
Rejects with a typed error; throws if there is no active session yet.ClaimStatus
"idle" before a claim, "claiming" while the request is in flight,
"settling" once submitted and confirming, then terminal "claimed",
"expired", or "failed"; "error" when the call throws. On "expired" or
"failed", call claim() again for a fresh claim.Claim | null
The latest claim resource, updated as it settles, or
null before the first
call.Error | null
The failure that moved
status to "error", or null. Branch on the error
code; see Errors and retries.() => void
Clears
status, data, and error back to idle and aborts an in-flight
settlement poll. Use it to let the customer start over.See also
Claim ownership
The claim flow, settlement, and idempotency in prose.
useTransfer
Move an item between existing owners - the sibling action.
session.claims.create
The request body, the client_broadcast mode, and every error code.
Claim a unit
The credential-neutral walkthrough and full error matrix.

