Payment

type: /credentials/0.1/payment

General payment message from user.

{
  "goal_code": "iden3comm.credentials.v1-1.proposal-request",
  "payments": [
    {
      "@context": "https://schema.iden3.io/core/jsonld/payment.jsonld",
      "type": "Iden3PaymentCryptoV1 | Iden3PaymentRailsV1 | Iden3PaymentRailsERC20V1 | Iden3PaymentRailsSolanaV1 | Iden3PaymentRailsSolanaSPLV1",
      ...
    }
  ]
}

Payment message itself defines fields: payments
Payment object itself is also typed. The possible types for payment object are: Iden3PaymentCryptoV1 , Iden3PaymentRailsV1 , Iden3PaymentRailsERC20V1 , Iden3PaymentRailsSolanaV1 , Iden3PaymentRailsSolanaSPLV1 .
Corresponding ld context for such types: https://schema.iden3.io/core/jsonld/payment.jsonld

Field Description Type Required
goal_code Goal code when the payment information can be used string
payments List of payment requests list
payments[i].type Payment Type string

Iden3PaymentCryptoV1 is a simple representation of payment response for only one chain. Type field specification:

Field Description Type Required
id Payment id string
type Payment Type "Iden3PaymentCryptoV1"
@context type ld context url string ❌ (historical backward compatibility)
paymentData Payment Type object
paymentData.txId Transaction hash string

Iden3PaymentRailsV1 is a representation of payment data that is result of sending native payment. Type field specification:

Field Description Type Required
nonce Payment unique nonce string (non negative integer)
type Payment Type "Iden3PaymentRailsV1"
@context type ld context url string
paymentData Payment Type object
paymentData.txId Transaction hash string
paymentData.chainId chain id in which payment has been done string

Iden3PaymentRailsERC20V1 is a representation of payment data that is result of sending payment using erc20 token. Type field specification:

Field Description Type Required
nonce Payment unique nonce string (non negative integer)
type Payment Type "Iden3PaymentRailsERC20V1"
@context type ld context url string
paymentData Payment Type object
paymentData.txId Transaction hash string
paymentData.chainId chain id in which payment has been done string
paymentData.tokenAddress address of token contract string

Iden3PaymentRailsSolanaV1 is a representation of payment data that is result of sending native payment on Solana chain. Type field specification:

Field Description Type Required
nonce Payment unique nonce string (non negative integer)
type Payment Type "Iden3PaymentRailsSolanaV1"
@context type ld context url string
paymentData Payment Type object
paymentData.txId Transaction hash string
paymentData.chainId chain id in which payment has been done string

Iden3PaymentRailsSolanaSPLV1 is a representation of payment data that is result of sending payment using SPL token. Type field specification:

Field Description Type Required
nonce Payment unique nonce string (non negative integer)
type Payment Type "Iden3PaymentRailsSolanaSPLV1"
@context type ld context url string
paymentData Payment Type object
paymentData.txId Transaction hash string
paymentData.chainId chain id in which payment has been done string
paymentData.tokenAddress address of SPL contract string

Examples of credential payment responses different payment types:

Crypto
{
  "id": "36f9e851-d713-4b50-8f8d-8a9382f138ca",
  "thid": "36f9e851-d713-4b50-8f8d-8a9382f138ca",
  "typ": "application/iden3comm-plain-json",
  "type": "https://iden3-communication.io/credentials/0.1/payment",
  "body": {
     "payments": [
          {
           "id":"123",
           "type":"Iden3PaymentCryptoV1",
           "@context": "https://schema.iden3.io/core/jsonld/payment.jsonld",
            "paymentData": { 
               "txId": "0x123"
            }
         }
      ]
  },
  "to": "did:polygonid:polygon:mumbai:2qJUZDSCFtpR8QvHyBC4eFm6ab9sJo5rqPbcaeyGC4",
  "from": "did:iden3:polygon:mumbai:x3HstHLj2rTp6HHXk2WczYP7w3rpCsRbwCMeaQ2H2"
}
Native
{
  "id": "36f9e851-d713-4b50-8f8d-8a9382f138ca",
  "thid": "36f9e851-d713-4b50-8f8d-8a9382f138ca",
  "typ": "application/iden3comm-plain-json",
  "type": "https://iden3-communication.io/credentials/0.1/payment",
  "body": {
     "payments": [
          {
           "nonce":"123",
           "type":"Iden3PaymentRailsV1",
           "@context": "https://schema.iden3.io/core/jsonld/payment.jsonld",
            "paymentData": { 
               "txId": "0x123",
               "chainId": "123"
            }
         }
      ]
  },
  "to": "did:polygonid:polygon:mumbai:2qJUZDSCFtpR8QvHyBC4eFm6ab9sJo5rqPbcaeyGC4",
  "from": "did:iden3:polygon:mumbai:x3HstHLj2rTp6HHXk2WczYP7w3rpCsRbwCMeaQ2H2"
}
Erc20
{
  "id": "36f9e851-d713-4b50-8f8d-8a9382f138ca",
  "thid": "36f9e851-d713-4b50-8f8d-8a9382f138ca",
  "typ": "application/iden3comm-plain-json",
  "type": "https://iden3-communication.io/credentials/0.1/payment",
  "body": {
     "payments": [
          {
           "nonce":"123",
           "type":"Iden3PaymentRailsERC20V1",
           "@context": "https://schema.iden3.io/core/jsonld/payment.jsonld",
            "paymentData": { 
               "txId": "0x123",
               "chainId": "123",
               "tokenAddress": "0x123" 
            }
         }
      ]
  },
  "to": "did:polygonid:polygon:mumbai:2qJUZDSCFtpR8QvHyBC4eFm6ab9sJo5rqPbcaeyGC4",
  "from": "did:iden3:polygon:mumbai:x3HstHLj2rTp6HHXk2WczYP7w3rpCsRbwCMeaQ2H2"
}
Solana-native
{
  "id": "881549e2-6630-470c-8a55-06d434b3ed38",
  "thid": "881549e2-6630-470c-8a55-06d434b3ed38",
  "from": "did:iden3:polygon:amoy:x7Z95VkUuyo6mqraJw2VGwCfqTzdqhM1RVjRHzcpK",
  "to": "did:iden3:polygon:amoy:x6x5sor7zpyZX9yNpm8h1rPBDSN9idaEhDj1Qm8Q9",
  "typ": "application/iden3comm-plain-json",
  "type": "https://iden3-communication.io/credentials/0.1/payment",
  "body": {
    "payments": [
    {
      "nonce": "6",
      "type": "Iden3PaymentRailsSolanaV1",
      "@context": "https://schema.iden3.io/core/jsonld/payment.jsonld#Iden3PaymentRailsSolanaV1",
      "paymentData": {
      "txId": "3fVGavvAduvdLruYEq3QKEtCkKQ5smWVyELXen4qw15YHDEM8XZc9wmW6mtzXkmGC8rD8d7cDjVapfUSu5VtXzf9",
      "chainId": "103"
      }
    }
    ]
  },
  "created_time": 1754572018
  }  
Solana-spl
{
  "id": "dd25cf2f-bdfd-48fa-b02d-ca5872f30300",
  "thid": "dd25cf2f-bdfd-48fa-b02d-ca5872f30300",
  "from": "did:iden3:polygon:amoy:x7Z95VkUuyo6mqraJw2VGwCfqTzdqhM1RVjRHzcpK",
  "to": "did:iden3:polygon:amoy:x6x5sor7zpyZX9yNpm8h1rPBDSN9idaEhDj1Qm8Q9",
  "typ": "application/iden3comm-plain-json",
  "type": "https://iden3-communication.io/credentials/0.1/payment",
  "body": {
    "payments": [
    {
      "nonce": "10008",
      "type": "Iden3PaymentRailsSolanaSPLV1",
      "@context": "https://schema.iden3.io/core/jsonld/payment.jsonld#Iden3PaymentRailsSolanaSPLV1",
      "paymentData": {
      "txId": "3hefbgPeWZLK1d9C9gY4Dbj5GoYpGY7Khyo6yewQa2wbdAgKMTpKB6HAKyQTxQWeKEANwi3618peYk5cCxBGF2nQ",
      "chainId": "103",
      "tokenAddress": "4MjRhSkDaXmgdAL9d9UM7kmgJrWYGJH66oocUN2f3VUp"
      }
    }
    ]
  },
  "created_time": 1754575183
  }