Token Schemas
kya Token
kya TokenHeader
{
"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
- See buyerIdentityRequirement for a list of the Buyer Identity claims (
bid) that a Seller Service can require.
pay Token
pay TokenHeader
{
"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
spsclaim (priceModel)- If the Seller Service Pricing Model (
spsclaim) isCUSTOM, then thesprandmnrclaims are omitted
- If the Seller Service Pricing Model (
kya+pay Token
kya+pay TokenHeader
{
"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
spsclaim (priceModel)- If the Seller Service Pricing Model (
spsclaim) isCUSTOM, then thesprandmnrclaims are omitted
- If the Seller Service Pricing Model (
Updated 12 days ago
