> For the complete documentation index, see [llms.txt](https://docs.leather.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.leather.io/developers/stacks-methods/stx_transfersip10ft.md).

# stx\_transferSip10Ft

Request a transfer of a SIP-010 fungible token to a specified recipient.

## Method name

`stx_transferSip10Ft`

The app must be connected first, through [`getAddresses`](/developers/methods/getaddresses.md). Leather signs with the account the app connected with.

Leather builds a call to the token contract's `transfer` function and attaches its own post-condition: the sender sends exactly `amount` of `asset`. The request's `postConditions` and `postConditionMode` are not applied. The transfer carries no memo.

## **Parameters**

| Parameter   | Description                                                                                                                                                                     | Required | Type               |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------ |
| `recipient` | Stacks c32-encoded address of the recipient                                                                                                                                     | ✅        | `string`           |
| `asset`     | Fully qualified token identifier, as `<contract address>.<contract name>::<token name>`                                                                                         | ✅        | `string`           |
| `amount`    | Amount in the token's smallest unit                                                                                                                                             | ✅        | `number \| string` |
| `address`   | Sets the `sender` argument of the `transfer` call and the post-condition principal. Defaults to the connected account's address. Any other address makes the call fail on chain | ❌        | `string`           |
| `network`   | Network identifier                                                                                                                                                              | ❌        | `string`           |
| `fee`       | Transaction fee in micro-STX. The user can change it before approving                                                                                                           | ❌        | `number \| string` |
| `nonce`     | Transaction nonce. The user can change it before approving                                                                                                                      | ❌        | `number \| string` |
| `sponsored` | Build a sponsored transaction. Leather returns it signed, without a `txid`                                                                                                      | ❌        | `boolean`          |

## **Example request**

```typescript
try {
  // Request an sBTC transfer
  const response = await window.LeatherProvider.request("stx_transferSip10Ft", {
    recipient: "SP3TB3AJ0XMZ9S6CGY2CQ6R06H1Z6DJQ1SH15ZP2H",
    asset: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token::sbtc-token",
    amount: "1000", // 1,000 sats (sBTC has 8 decimals)
  });

  console.log("Response:", response);
} catch (error) {
  console.log("Request error:", error);
}
```

## Example Response

```json
{
    "jsonrpc": "2.0",
    "id": "d3f1a7b0-5e6c-4f18-92a4-8e3b9f7c5c71",
    "result": {
        "txid": "f9c2a8f1e3b1d5a7c8e2f6a9d4b3e1c7f2a5d9b8c6e4f1a3b7d2e9c5f8a1b6c3",
        "transaction": "dead...beef"
    }
}
```

## Errors

| Code     | Message                                                                 | When                         |
| -------- | ----------------------------------------------------------------------- | ---------------------------- |
| `16`     | `Wallet no longer available. Reconnect the app to an available wallet.` | The origin is not connected  |
| `-32602` | Parameter validation details                                            | A parameter fails validation |
| `4001`   | `User rejected request`                                                 | The user closes the window   |
