> ## Documentation Index
> Fetch the complete documentation index at: https://docs.privacyboost.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Claimable transfers

# Claimable Transfers (Gifts)

Send shielded funds to an Ethereum wallet address that has not registered with
Privacy Boost yet. See [Claimable Transfers](/sdk/concepts/claimable-transfers)
for the concept and trust model.

<Warning>
  Preview feature — pending external audit, and enabled per deployment. The React
  SDK does **not** yet expose dedicated gift hooks; use the underlying SDK via
  `usePrivacyBoost()`. Dedicated hooks are planned.
</Warning>

## Accessing the gift API

`usePrivacyBoost()` returns the underlying TypeScript SDK instance, whose gift
methods live on its WASM handle (`sdk.wasm`). The full method surface, parameter
shapes, and types are documented in the
[TypeScript Claimable Transfers guide](/sdk/typescript/guides/claimable-transfers).

```tsx theme={null}
import { usePrivacyBoost } from '@sunnyside-io/privacy-boost-react';

function SendGiftButton() {
  const sdk = usePrivacyBoost();

  const sendGift = async () => {
    if (!sdk) return;
    const currentBlock = Number(await publicClient.getBlockNumber());

    const result = await sdk.wasm.giftFundToWallet({
      tokenAddress: '0x...token-address',
      amount: '1000000000000000000',
      recipientWallet: '0xRecipientEoaAddress',
      refundAfterBlock: currentBlock + 50_000,
      currentBlock,
    });

    // Persist result.giftRecord so the gift stays refundable; share result.claimLink.
    console.log('Claim link:', result.claimLink);
  };

  return <button onClick={sendGift}>Send gift</button>;
}
```

Claiming and refunding follow the same pattern — call `sdk.wasm.getPendingGifts()`,
`sdk.wasm.giftClaim({ index, acknowledgeUnknownSender: true })`,
`sdk.wasm.getGiftRecords()`, and `sdk.wasm.giftRefundByRecord(index)` from a hook
or handler. See the
[TypeScript guide](/sdk/typescript/guides/claimable-transfers) for every method.

## Next steps

* [TypeScript Claimable Transfers guide](/sdk/typescript/guides/claimable-transfers) — full API
* [Claimable Transfers concept](/sdk/concepts/claimable-transfers)
* [`usePrivacyBoost()`](/sdk/react/api-reference#useprivacyboost) — direct SDK access
