Post-Conditions
In Stacks, transactions can have post-conditions.
These are additional security to ensure the transaction was executed as expected.
More precisely, adding post-conditions to a transaction can ensure that:
- STX tokens were transferred from an address
- FTs/NFTs we transferred from an address
:::caution Post-conditions aren't perfect. They can't say anything about the end-state after a transaction. So, they can't guarantee the receival of FTs/NFTs, since they only check for sending. :::
An example adding a post-condition (of an address sending 1000 uSTX).
Post-Condition Mode
...aka "allow transfer of unspecified assets?"
In addition to the post-conditions itself, we can also specify a "mode" for the transaction to verify asset transfers.
The mode can be either Allow
or Deny
.
Allow
means that the transaction can transfer any asset (assuming no conflicting post-conditions).Deny
means the transaction will fail if any asset transfers (not specified in the post-conditions) are attempted.
:::note
In either case, all post-conditions will still be checked.
By default, transactions are set to Deny
mode for additional security.
:::
Last updated on