[#IsStandardTx]
= IsStandardTx
:mrdocs:

Check for standard transaction types

== Synopsis

Declared in `&lt;policy&sol;policy&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
bool
IsStandardTx(
    xref:CTransaction.adoc[CTransaction] const& tx,
    std::optional&lt;unsigned int&gt; const& max&lowbar;datacarrier&lowbar;bytes,
    bool permit&lowbar;bare&lowbar;multisig,
    xref:CFeeRate.adoc[CFeeRate] const& dust&lowbar;relay&lowbar;fee,
    std::string& reason);
----

== Return Value

True if all outputs (scriptPubKeys) use only standard transaction forms

== Parameters

[cols="1,4"]
|===
| Name| Description
| *tx*
| Transaction to check&period;
| *max&lowbar;datacarrier&lowbar;bytes*
| Maximum allowed size of OP&lowbar;RETURN data, if any&period;
| *permit&lowbar;bare&lowbar;multisig*
| Whether bare multisig outputs are treated as standard&period;
| *dust&lowbar;relay&lowbar;fee*
| Fee rate used to define dust&period;
| *reason*
| Set to a description of the first non&hyphen;standard feature found&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
