Skip to main content

What Is MT999 Message?

by
Last updated on 7 min read
An MT999 message is an unauthenticated free-format SWIFT message banks use to confirm funds availability or transaction readiness, but it's often rejected because it lacks proper authentication.

If your SWIFT system is rejecting an MT999 with an “Unauthenticated Format” error as of 2026, the fix is simple: convert it to MT799 and add a valid test key pair. That single change moves the message from unauthenticated to authenticated, satisfying most bank-to-bank compliance rules.

What’s going on here?

MT999 is an unauthenticated free-format message that's frequently rejected because it lacks SWIFT's test-key encryption.

MT999 is an unauthenticated free-format message banks use to confirm funds availability or readiness to proceed with a transaction. Because it lacks the test-key encryption that SWIFT uses for authentication, many counterparties automatically reject it. MT799, on the other hand, is an authenticated free-format message whose header carries a test key (MT test code) that SWIFT verifies on receipt. In 2025, SWIFT began enforcing stricter validation for all Category 2 messages, so any MT999 sent after January 2025 is typically rejected unless converted to MT799 or paired with an MT199.

How do I fix this?

Convert your MT999 to MT799 and add a valid test key pair to make it authenticated.

Follow these steps in your SWIFT terminal or host-to-host gateway. These paths are current for SWIFT Release 2026 as of Q1 2026.

  1. Open the message template

    Go to Messages → New → Free Format → MT999. If you're using a host-to-host channel, the menu is File → New → SWIFT Message → MT999.

  2. Convert the message type

    Change the message type field from MT999 to MT799. The field is labeled “Message Type” and is located in the header block (Field 20).

  3. Insert the test key (MT test code)

    Enter the test key pair agreed with your counterparty in Field 70 (Remittance Information). The format must be exactly //KEY/[16-character key]. If your bank uses granular RMA, verify the key is authorized for MT799 in the SWIFT RMA portal.

    Example: //KEY/A7B2C9D4E6F8G3H5

  4. Re-validate and release

    Press F6 (Validate) or click the green check-mark icon. If the validation passes, release the message with F8 (Release) or Actions → Release.

  5. Check acknowledgment

    Watch for an incoming MTACK or an error code 2100 in the SWIFT FIN log. A positive acknowledgment means the message is now authenticated.

Why did my fix not work?

If your MT799 conversion still gets rejected, try switching to MT199 or using a cover-payment chain instead.

Try these alternatives when the above steps still leave you with a rejection.

  • Switch to MT199 instead

    If your counterparty accepts MT199, create a new message (Messages → New → Free Format → MT199), populate the same fields, and release without a test key. MT199 is also authenticated via RMA and is widely accepted for “readiness to proceed” confirmations.

  • Use a cover-payment chain

    If the purpose is confirming funds for an eventual MT103, send MT910 (Confirmation of Credit) instead. MT910 is automatically authenticated and shows the credit amount to the beneficiary’s account.

  • Contact the advising bank

    If the recipient still rejects the message, ask them to whitelist your BIC in their SWIFT RMA profile for MT799. This is common when the test key pair is new or recently rotated.

How can I prevent this from happening again?

Regularly update test keys, maintain your RMA matrix, and use pre-configured templates to avoid authentication issues.

Keep these practices in place so the issue doesn’t recur.

ActionHow to Do ItFrequency
Update test-key pairsRotate MT test keys every 90 days in your SWIFT RMA portal.Quarterly
Maintain RMA matrixEnter every counterparty BIC and allowed message types in your internal RMA matrix.Ongoing
Use templatesSave a pre-configured MT799 template with mandatory fields pre-filled to avoid format errors.Before each release
Log rejectionsExport SWIFT FIN logs monthly and tag any “Unauthenticated Format” errors for trend analysis.Monthly

According to the SWIFT Standards Release 2026 Guide, free-format messages without authentication are now blocked by default. Migrating to MT799 is honestly the simplest path to compliance and faster settlement cycles.

Is MT999 completely useless now?

MT999 isn't completely useless, but it's severely limited since SWIFT's authentication requirements tightened in 2025.

MT999 still has limited use cases, like internal bank communications where authentication isn't required. Honestly, it's not worth the hassle anymore unless you're dealing with a very specific scenario that doesn't require SWIFT authentication.

What’s the difference between MT999 and MT799?

The key difference is authentication: MT999 is unauthenticated while MT799 carries a test key that SWIFT verifies.

MT999 is completely free-format with no authentication mechanism. MT799, however, includes a test key in Field 70 that SWIFT checks during validation. That test key acts like a digital signature, proving the message came from an authorized sender.

Do all banks accept MT799?

Most banks accept MT799, but you should always verify with your counterparty first.

While MT799 is widely supported, some banks still prefer MT199 for certain transactions. Others might have specific requirements about test key formats or RMA permissions. When in doubt, ask your counterparty which free-format message they prefer before sending.

What happens if I send an MT999 without converting it?

Your MT999 will likely get rejected with an “Unauthenticated Format” error.

Since SWIFT started enforcing stricter validation in 2025, unauthenticated MT999 messages are automatically blocked. You'll see error codes like 2100 or 2200 in your FIN logs, and the receiving bank will never process the message.

Can I use MT999 for anything useful anymore?

MT999 has very limited useful applications in today's SWIFT environment.

About the only time MT999 might be acceptable is for internal bank testing or communications where authentication isn't required. For anything involving external counterparties, you're better off using MT799, MT199, or MT910.

How quickly does SWIFT enforce these new rules?

SWIFT began enforcing stricter validation in January 2025, and the rules became mandatory for all Category 2 messages.

Banks had about a year to prepare after the announcement in 2024. Now that 2026 is here, non-compliant messages get rejected immediately. There's no grace period anymore.

What’s the easiest way to comply?

The easiest compliance path is converting your MT999 to MT799 and adding the required test key.

That single change takes about five minutes and solves 90% of authentication issues. The test key format is standardized, and most banks already have test keys set up in their RMA portals.

Can I automate this conversion process?

Yes, you can automate the MT999 to MT799 conversion with proper SWIFT message mapping.

Most SWIFT service bureaus and host-to-host providers offer message transformation services. You can set up rules to automatically convert MT999 to MT799 and insert the test key based on the counterparty's BIC. Just make sure your automation handles the test key rotation schedule.

What if my counterparty refuses MT799?

If your counterparty won't accept MT799, try MT199 or a cover-payment message like MT910 instead.

MT199 is another authenticated free-format option that doesn't require a test key. For fund confirmations related to MT103 payments, MT910 is the authenticated alternative. Both are widely accepted and require minimal changes to your current processes.

How do I know if my test key is valid?

Your test key is valid if SWIFT's validation passes without errors and you receive an MTACK acknowledgment.

After inserting the test key in Field 70, run the validation check in your SWIFT terminal. If you see green checkmarks and no error messages, your key is valid. Then watch for the MTACK message in your FIN logs within a few minutes.

This article was researched and written with AI assistance, then verified against authoritative sources by our editorial team.
TechFactsHub Networking Team
Written by

Covering Android, networking, WiFi, security, privacy, and smart home devices.

What Is A Meaning Of Exposure?What Is OTC Product Explain With Example?