Add optional transactionValue to TAIP-3 Transfer message #54
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Adds an optional
transactionValuefield to the Transfer message, allowing the initiating agent tocommunicate the fiat equivalent value of a virtual asset transfer.
Motivation
When a transfer involves a virtual asset that is not widely traded or not yet listed on major
exchanges, receiving agents may not be able to resolve its fiat value independently. This creates
problems for:
obligations apply
The
transactionValuefield allows the originating agent to provide this value upfront, so receivingagents don't have to rely solely on their own asset pricing services.
Changes
TAIPs/taip-3.md) — AddedtransactionValueto the message bodydefinition with
amount(decimal string) andcurrency(ISO 4217 code). Added a test case exampleshowing a transfer of a custom token with a EUR equivalent.
schemas/messages/transfer.json) — AddedtransactionValueobject propertyreferencing existing
amountandiso4217CurrencyCodebase types.packages/typescript/src/tap.ts) — Added optionaltransactionValuefieldto the
Transferinterface.Example
{ "asset": "eip155:1/erc20:0x1234...", "amount": "500", "transactionValue": { "amount": "1250.00", "currency": "EUR" } } Backward Compatibility The field is fully optional. Existing implementations that do not include or handle transactionValue are unaffected.