Skip to content

Remit

[Source]

(Added by the [Remit amendment][].)

{
"TransactionType": "Remit",
"Account": "rGvbdrdCxG2tk9ZU2673XmsjRdHCDQEpt7",
"Amounts": [
{
"AmountEntry": {
"Amount": "1000000"
}
}, {
"AmountEntry": {
"Amount": {
"currency": "USD",
"issuer": "rExKpRKXNz25UAjbckCRtQsJFcSfjL9Er3",
"value": "1"
}
}
}
],
"Destination": "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn",
"URITokenIDs": [
"714F206C865D334721B2F3388BEAF33AA91BC1D78C71941D10A2A653C873EDD3"
],
"MintURIToken": {
"Digest": "6F11A4DF4EE794E2800BB361173D454BFBECB3D7506C4F4CB0EC5AE98BE43747",
"Flags": 1,
"URI": "697066733A2F2F"
}
}
FieldJSON Type[Internal Type][]Description
AccountStringAccountIDThe address of the account that will activate the account, send the payment and/or mint/transfer the URIToken/s.
DestinationStringAccountIDThe unique address of the account receiving the payment and/or URIToken/s.
DestinationTagNumberUInt32(Optional) A DestinationTag for deposits to a shared custody account.
MintURITokenObjectSTObject(Optional) A MintURIToken STObject containing the URIToken details you want to mint on the Destination.
URITokenIDsArraySTArray(Optional) An array of URITokenIDs (256-bit hash) to to be transferred to the Destination. Limit 32.
AmountsArraySTArray(Optional) An array of AmountEntry STObjects the account wants to send to the Destination. Limit 32.
InformStringAccountID(Optional) A unique address of an account that can have a hook installed and be informed when a remit occurs.
BlobStringBlob(Optional) Arbitrary hex value that can be added to the tx for use in Hooks.
InvoiceIDStringHash256(Optional) Arbitrary 256-bit hash representing a specific reason or identifier for this remit.
FieldJSON Type[Internal Type][]Description
AmountCurrency AmountAmountThe amount of currency the account wants to send to the Destination.
FieldJSON Type[Internal Type][]Description
URIStringStringThe URI associated with the minted URIToken. (256 byte max)
DigestStringHash256(Optional) The digest of the URIToken.
FlagsNumberUInt32(Optional) Flags on the mint transaction

The MintURIToken STObject supports the values in the Flags field, as follows:

Flag NameHex ValueDecimal ValueDescription
tfBurnable0x000000011Allow the issuer to destroy the minted URIToken. (The URIToken’s owner can always do so.)

The Remit transaction has a standard transaction cost, which is the minimum fee required for any transaction in Xahau.

In addition to the minimum fee required the Remit transaction will also deduct the fees for the following:

ActionFee
Account ActivationStandard Reserve Requirement
Create TrustlineStandard Reserve Requirement
URIToken MintStandard Reserve Requirement
URIToken TransferStandard Reserve Requirement

Besides errors that can occur for all transactions, Remit transactions can result in the following transaction result codes:

Error CodeDescription
temINVALID_FLAGOccurs if any flag is specific tfFullyCanonicalSig
temREDUNDANTOccurs if the Account is the same as the Destination
temMALFORMED (Inform & Blob)Occurs when; sfInform is same as ” “source or destination. Blob was more than 128kib.
temMALFORMED (AmountEntry)Occurs when; AmountEntry count exceeds 32. Expected AmountEntry. Native Currency appears more than once. Issued Currency appears more than once.
temMALFORMED (MintURIToken)Occurs when; sfMintURIToken contains invalid field. URI was not provided. URI was too long/short. Invalid UTF8 inside MintURIToken.
temMALFORMED (URITokenIDs)Occurs when; URITokenIDs too short/long. Duplicate URITokenID.
temBAD_AMOUNTOccurs when an Amount in the AmountEntry is invalid.
terNO_ACCOUNTOccurs when the source account does not exist.
tecNO_TARGETOccurs when the sfInform field is present but the account does not exist.
tecNO_PERMISSIONOccurs when disallowIncomingRemit is enabled on the Destination
tecNO_PERMISSIONOccurs when the Destination has DepositAuthorization enabled.
tecDST_TAG_NEEDEDOccurs if the destination account requires a destination tag, but the transaction does not include one.
tecDUPLICATEOccurs when the MintURIToken URI from that issuer already exists.
tecDIR_FULLOccurs when the source or destination accouts directory is full.
tecNO_ENTRYOccurs when the URIToken does not exist.
tecNO_PERMISSIONOccurs when the URIToken is not owned by the source account.
tecUNFUNDED_PAYMENTOccurs when the source account does not have the required funds to execute the transaction. (XAH or Issued Currencies)