Skip to content

Integrations

SAP Treasury & Risk Management

Connect DPX settlement rails to SAP TRM — ISO 20022 pain.001 output from SAP payment runs routes directly to the DPX Integration API.

Updated

SAP TRM connects to DPX through the Integration API via SAP Integration Suite (formerly Cloud Platform Integration) or BTP. SAP already emits ISO 20022 pain.001 from payment programs — the Integration API accepts it without transformation.

No SAP approval needed. This is configured entirely within your own SAP Integration Suite / BTP tenant, live today — SAP’s certification or involvement is not required. An AI copilot embedded in SAP TRM (or acting on a treasury team’s behalf) can independently discover DPX’s pricing with zero credentials: GET /manifest and GET /quote on stability.untitledfinancial.com require no API key.

Base URL: https://integration.untitledfinancial.com


SAP payment program (F110 / manual payment order)
│
│ ISO 20022 pain.001 (via SAP Integration Suite / BTP)
▼
POST https://integration.untitledfinancial.com/payments/initiate
│
├── VoP check → Compliance Oracle (automatic)
├── FX rate → Stability Oracle (automatic)
└── Settle → DPX rail (USDC on Base)
│
▼
pacs.002 response + webhook to SAP (settlement confirmation write-back)

Option A — SAP Integration Suite (iFlow)

Section titled “Option A — SAP Integration Suite (iFlow)”

Create an iFlow in SAP Integration Suite that:

  1. Subscribes to SAP payment events (F110 batch or individual payment orders)
  2. Transforms the payment message to pain.001 JSON (or passes it through if already JSON)
  3. POSTs to https://integration.untitledfinancial.com/payments/initiate with your bearer token
  4. Receives the pacs.002 response and writes the txHash and status back to SAP

Outbound HTTP adapter configuration:

FieldValue
URLhttps://integration.untitledfinancial.com/payments/initiate
MethodPOST
AuthenticationOAuth2 / Bearer token
Token headerAuthorization: Bearer <institution-key>
Content-Typeapplication/json

Use the SAP BTP REST service binding with a custom HTTP destination pointing to https://integration.untitledfinancial.com.

Option C — Direct HTTP (smaller deployments)

Section titled “Option C — Direct HTTP (smaller deployments)”

SAP’s SMICM + HTTP client (function module HTTP_POST) can call the Integration API directly from ABAP without middleware.


SAP / pain.001 fieldIntegration API field
EndToEndId or SAP payment referencetmsReference
InstdAmt.valueamount
InstdAmt.Ccycurrency
Cdtr.Nmcreditor.name
CdtrAgt.FinInstnId.LEI or Cdtr.Id.OrgId.LEIcreditor.lei
Beneficiary wallet (custom field or CdtrAcct.Id.Othr)creditor.walletAddress
Dbtr.Id.OrgId.LEIdebtor.lei
RmtInf.UstrdremittanceInfo
ReqdExctnDt.DtrequestedExecutionDate

Configure a callback URL pointing to your SAP inbound webhook endpoint. DPX POSTs the settlement result on completion:

{
"dpxPaymentId": "a4f2c8d1-...",
"tmsReference": "SAP-F110-20260514-001",
"status": "SETTLED",
"settlement": {
"txHash": "0x7f3a...",
"amount": "250000.00",
"exchangeRate": "1.0842",
"fee": "337.50"
},
"compliance": {
"fatfR16Compliant": true,
"regulatoryNote": "FATF R16 VoP satisfied — settlement compliant."
}
}

Store txHash in the SAP payment document as the external bank reference for audit trail purposes.


The compliance.fatfR16Compliant flag confirms that VoP was satisfied for the payment. Store this alongside the SAP document to satisfy Travel Rule audit requirements without any additional compliance workflow.


Terminal window
curl -X POST https://integration.untitledfinancial.com/payments/initiate \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{
"tmsReference": "TEST-SAP-F110-001",
"amount": "250000.00",
"currency": "EUR",
"settlementAsset": "USDC",
"creditor": {
"name": "Deutsche Bank AG",
"lei": "7LTWFZYICNSX8D621K86",
"walletAddress": "0xabc..."
},
"debtor": {
"name": "Test Company",
"lei": "549300TRUWO2CD2G5692",
"walletAddress": "0xdef..."
}
}'

→ Integration API
→ Webhook Events