Token Schemas

kya Token

Header

{
  "alg": "ES256", // Cryptographic algorithm to sign the token
  "kid": "0", // JWK key ID
  "typ": "kya+JWT" // Type of the token - kya | pay | kya+pay
}

Payload

{
  // Standard claims from the JWT spec
  "iat": 1742245254, // Timestamp when the token was issued
  "iss": "https://app.skyfire.xyz", // URL of the token issuer
  "jti": "b9821893-7699-4d24-af06-803a6a16476b", // Unique token ID
  "aud": "a8e49eea-ac7b-41f2-aa74-84fb86ad40bc", // Seller agent account ID
  "sub": "425a394b-5ea5-4f65-9565-360ea854565a", // Buyer agent account ID
  "exp": 1773867654, // Timestamp when the token will expire

  // Skyfire-defined claims common to both 'kya' and 'pay' tokens
  "ver": "1", // Version of the token
  "env": "production", // Issuer's environment e.g. sandbox, production, etc)
  "btg": "efd8a6ee-c7b6-4d26-9e5c-3b5e9c180df6", // Buyer's internal reference ID / tag (optional)
  "ssi": "35dfc277-301d-447c-8c49-594c9d59232f", // Seller service ID that this token was created for
  "sdm": "https://shopaholic.com", // Seller's domain (optional)
  "srl": "https://shopaholic.com/abc", // Seller's URL that the buyer agent is visiting
  "scopes": [], // Scopes for authorization (optional)

  // Skyfire-defined claims for 'kya' tokens
  "bid": { // Buyer identity claims (optional)
    "email": "[email protected]”, 
    ...
  },
  "apd": { // Agent platform identity claims (optional)
    "id": "04069168-ab7b-4065-8793-d6f9e7c0a056", // Agent platform ID
    "name": "Acme Shopping Agents", // Agent platform name
    ...
  },
  "aid": { // Agent identity claims
    "creation_ip": "54.86.50.139", // IP address from where the token was created
    "source_ips": ["54.86.50.139", "54.86.50.140", "54.86.50.141"], // IP addresses from where the buyer agent will make requests to the seller
    ...
  }
}

Note

pay Token

Header

{
  "alg": "ES256", // Cryptographic algorithm to sign the token
  "kid": "0", // JWK key ID
  "typ": "pay+JWT" // Type of the token - kya | pay | kya+pay
}

Payload

{
  // Standard claims from the JWT spec
  "iat": 1742245254, // Timestamp when the token was issued
  "iss": "https://app.skyfire.xyz", // URL of the token issuer
  "jti": "b9821893-7699-4d24-af06-803a6a16476b", // Unique token ID
  "aud": "a8e49eea-ac7b-41f2-aa74-84fb86ad40bc", // Seller agent account ID
  "sub": "425a394b-5ea5-4f65-9565-360ea854565a", // Buyer agent account ID
  "exp": 1773867654, // Timestamp when the token will expire

  // Skyfire-defined claims common to both 'kya' and 'pay' tokens
  "ver": "1", // Version of the token
  "env": "production", // Issuer's environment e.g. sandbox, production, etc)
  "btg": "efd8a6ee-c7b6-4d26-9e5c-3b5e9c180df6", // Buyer's internal reference ID / tag (optional)
  "ssi": "35dfc277-301d-447c-8c49-594c9d59232f", // Seller service ID that this token was created for
  "sdm": "https://shopaholic.com", // Seller's domain (optional)
  "srl": "https://shopaholic.com/abc", // Seller's URL that the buyer agent is visiting
  "scopes": [], // Scopes for authorization (optional)

  // Skyfire-defined claims for 'pay' tokens
  "value": "15000000", // Token amount in settlement network's units
  "amount": "15.000000", // Token amount in currency units
  "cur": "USD", // Currency
  "stp": "<COIN | CARD | BANK>", // Settlement type
  "sti": { // Meta information for payment settlement depending on the settlement type
    "type": "<'type' is dependant on 'sti'>", // for COIN - USDC | x402; for CARD - VISA_VIC;
    // For type == USDC - No more sub-claims
    // For type == VISA_VIC
    "dynamicDataExpiration": "<Timestamp when DTVV expires>",
    "dynamicDataId": "<Visa specific identifier>",
    "dynamicDataType": "DAVV",
    "dynamicDataValue": "<DAVV value>",
    "paymentToken": "<16 Digit Virtual Payment Card Number>",
    "tokenExpirationMonth": "<Expiration Month Number>",
    "tokenExpirationYear": "<Expiration Year>"
  },
  "spr": "0.010000", // Seller service price
  "sps": "PAY_PER_USE", // Seller service pricing model
  "mnr": "1500", // Maximum number of requests when sps is "PAY_PER_USE" (optional)
}

Note

  • See Create Agent's Service for valid values for the sps claim (priceModel)
    • If the Seller Service Pricing Model (sps claim) is CUSTOM, then the spr and mnr claims are omitted

kya+pay Token

Header

{
  "alg": "ES256", // Cryptographic algorithm to sign the token
  "kid": "0", // JWK key ID
  "typ": "kya+pay+JWT" // Type of the token - kya | pay | kya+pay
}

Payload

{
  // Standard claims from the JWT spec
  "iat": 1742245254, // Timestamp when the token was issued
  "iss": "https://app.skyfire.xyz", // URL of the token issuer
  "jti": "b9821893-7699-4d24-af06-803a6a16476b", // Unique token ID
  "aud": "a8e49eea-ac7b-41f2-aa74-84fb86ad40bc", // Seller agent account ID
  "sub": "425a394b-5ea5-4f65-9565-360ea854565a", // Buyer agent account ID
  "exp": 1773867654, // Timestamp when the token will expire

  // Skyfire-defined claims common to both 'kya' and 'pay' tokens
  "ver": "1", // Version of the token
  "env": "production", // Issuer's environment e.g. sandbox, production, etc)
  "btg": "efd8a6ee-c7b6-4d26-9e5c-3b5e9c180df6", // Buyer's internal reference ID / tag (optional)
  "ssi": "35dfc277-301d-447c-8c49-594c9d59232f", // Seller service ID that this token was created for
  "sdm": "https://shopaholic.com", // Seller's domain (optional)
  "srl": "https://shopaholic.com/abc", // Seller's URL that the buyer agent is visiting
  "scopes": [], // Scopes for authorization (optional)

  // Skyfire-defined claims for 'kya' tokens
  "bid": { // Buyer identity claims (optional)
    "email": "[email protected]”, 
    ...
  },
  "apd": { // Agent platform identity claims (optional)
    "id": "04069168-ab7b-4065-8793-d6f9e7c0a056", // Agent platform ID
    "name": "Acme Shopping Agents", // Agent platform name
    ...
  },
  "aid": { // Agent identity claims
    "creation_ip": "54.86.50.139", // IP address from where the token was created
    "source_ips": ["54.86.50.139", "54.86.50.140", "54.86.50.141"], // IP addresses from where the buyer agent will make requests to the seller
    ...
  },

  // Skyfire-defined claims for 'pay' tokens
  "value": "15000000", // Token amount in settlement network's units
  "amount": "15.000000", // Token amount in currency units
  "cur": "USD", // Currency
  "stp": "<COIN | CARD | BANK>", // Settlement type
  "sti": { // Meta information for payment settlement depending on the settlement type
    "type": "<'type' is dependant on 'sti'>", // for COIN - USDC | x402; for CARD - VISA_VIC;
    // For type == USDC - No more sub-claims
    // For type == VISA_VIC
    "dynamicDataExpiration": "<Timestamp when DTVV expires>",
    "dynamicDataId": "<Visa specific identifier>",
    "dynamicDataType": "DAVV",
    "dynamicDataValue": "<DAVV value>",
    "paymentToken": "<16 Digit Virtual Payment Card Number>",
    "tokenExpirationMonth": "<Expiration Month Number>",
    "tokenExpirationYear": "<Expiration Year>"
  },
  "spr": "0.010000", // Seller service price
  "sps": "PAY_PER_USE", // Seller service pricing model
  "mnr": "1500", // Maximum number of requests when sps is "PAY_PER_USE" (optional)
}

Note

  • See buyerIdentityRequirement for a list of the Buyer Identity claims (bid) that a Seller Service can require.
  • See Create Agent's Service for valid values for the sps claim (priceModel)
    • If the Seller Service Pricing Model (sps claim) is CUSTOM, then the spr and mnr claims are omitted