Skip to content
LogoLogo

receivePolicy.claim

Claims blocked funds for a receipt, releasing them to a destination. The caller must be authorized to reclaim the funds per the policy's claimer setting. Learn more about transfer policies

Usage

import { client } from './viem.config'
 
const { receipt } = await client.receivePolicy.claimSync({
  to: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEbb',
  receipt: '0x...',
})
 
console.log('Transaction hash:', receipt.transactionHash)
Transaction hash: 0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

Asynchronous Usage

The example above uses the claimSync variant, which waits for the transaction to be included before returning.

If you are optimizing for performance, you should use the non-sync receivePolicy.claim action and wait for inclusion manually:

import { client } from './viem.config'
 
const hash = await client.receivePolicy.claim({
  to: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEbb',
  receipt: '0x...',
})
const receipt = await client.waitForTransactionReceipt({ hash })

Return Type

claim

type ReturnType = Hash

Returns the transaction hash.

claimSync

type ReturnType = {
  /** Event data from the `ReceiptClaimed` event. */
  // ...
  /** Transaction receipt. */
  receipt: TransactionReceipt
}

Returns the ReceiptClaimed event arguments along with the transaction receipt.

Parameters

to

  • Type: Address

Destination to release the blocked funds to.

receipt

  • Type: Hex

The encoded claim receipt (the witness emitted by a TransferBlocked event).

throwOnReceiptRevert (optional, claimSync only)

  • Type: boolean
  • Default: true

Whether to throw if the transaction's receipt status is reverted.

account (optional)

  • Type: Account | Address

Account that will be used to send the transaction.

feeToken (optional)

  • Type: Address | bigint

Fee token for the transaction.

Can be an unpaused USD-denominated TIP-20 token address or ID. Use client.fee.validateToken({ token }) to validate a token before submitting a transaction or setting it as a fee preference.

feePayer (optional)

  • Type: Account | true

Fee payer for the transaction.

Can be a Viem Account, or true if a Fee Payer Service will be used.

gas (optional)

  • Type: bigint

Gas limit for the transaction.

maxFeePerGas (optional)

  • Type: bigint

Max fee per gas for the transaction.

maxPriorityFeePerGas (optional)

  • Type: bigint

Max priority fee per gas for the transaction.

nonce (optional)

  • Type: number

Nonce for the transaction.

nonceKey (optional)

  • Type: 'expiring' | bigint

Nonce key for the transaction. Use 'expiring' to use expiring nonces (TIP-1009), which enables concurrent transaction submission without nonce ordering.

validBefore (optional)

  • Type: number

Unix timestamp before which the transaction must be included.

validAfter (optional)

  • Type: number

Unix timestamp after which the transaction can be included.

throwOnReceiptRevert (optional)

  • Type: boolean
  • Default: true

Whether to throw an error if the transaction receipt indicates a revert. Only applicable to *Sync actions.