# wallet_transferOrdToken

Transfer an ordinal inscription or send BSV21 fungible tokens. Use type='ordinal' to transfer an NFT/inscription by its ordinals-basket tracking id (from wallet_getOrdinals). Use type='bsv21' to send fungible tokens by token ID and amount.

## Result

An MCP result containing the operation outcome as text, with structured content where supplied. Check isError before using it; an output schema is shown when registered.

## Permissions

This operation can change wallet, account or service state. A connected wallet applies its own permissions. Guarded broadcasts also require broadcasting to be enabled; service authorization is separate from wallet approval.

## Definition 1 (full)

Registered in: Legacy local wallet; Legacy local identity; Local Vault · broadcasting disabled; Local Vault · all roles; External BRC-100 wallet; Local Vault + sponsor.

Transfer an ordinal inscription or send BSV21 fungible tokens. Use type='ordinal' to transfer an NFT/inscription by its ordinals-basket tracking id (from wallet_getOrdinals). Use type='bsv21' to send fungible tokens by token ID and amount.

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| type | "ordinal" \| "bsv21" | Yes | 'ordinal' to transfer an inscription/NFT, 'bsv21' to send fungible BSV21 tokens |  |
| id | string | No | Tracking id of the ordinal in the ordinals basket (the 'id:' tag from wallet_getOrdinals). Required when type='ordinal' |  |
| tokenId | string | No | Token ID (txid_vout format). Required when type='bsv21' |  |
| amount | string | No | Amount of tokens to send as a string integer. Required when type='bsv21' |  |
| address | string | No | Recipient P2PKH address |  |
| counterparty | string | No | Recipient identity public key (hex) |  |

Nested requirements apply when their parent is supplied.

### Input schema

```json
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "ordinal",
        "bsv21"
      ],
      "description": "'ordinal' to transfer an inscription/NFT, 'bsv21' to send fungible BSV21 tokens"
    },
    "id": {
      "description": "Tracking id of the ordinal in the ordinals basket (the 'id:' tag from wallet_getOrdinals). Required when type='ordinal'",
      "type": "string"
    },
    "tokenId": {
      "description": "Token ID (txid_vout format). Required when type='bsv21'",
      "type": "string"
    },
    "amount": {
      "description": "Amount of tokens to send as a string integer. Required when type='bsv21'",
      "type": "string"
    },
    "address": {
      "description": "Recipient P2PKH address",
      "type": "string"
    },
    "counterparty": {
      "description": "Recipient identity public key (hex)",
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
```

[All tools](https://bsvmcp.com/docs/tools)