Pre-flight check of a programmable token transfer
check_programmable_transferWould a transfer of a programmable token (CIP-113) from A to B be allowed, and if not, why? Answers only from state we index (the sender's balance under the standard's contract, a pause or shutdown, the block list of either side) and lists what it can NOT know: identity checks signed off chain, the issuer's own transfer script, a rule change before the transaction is built. The best verdict is nothing_visible_forbids, never "allowed". A token whose rules are scripts we cannot read answers rules_unreadable. Nothing is built or signed.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"unit": "<unit>"
},
"name": "check_programmable_transfer"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Receiver: addr1… address (ordinary or smart-wallet), stake1… address or a 56-hex owner credential. | |
| from | No | Sender: addr1… address (ordinary or smart-wallet), stake1… address or a 56-hex owner credential. | |
| unit | Yes | Token unit: policy id + asset name in hex. | |
| amount | No | Amount to send, decimal-adjusted, as plain digits (for example "10" or "2.5"). |