{"version":"1.0","service":"clash-of-coins","protocol":"mpp","authHeader":"Authorization: Payment","agentIntegration":{"recommendedSdk":"mppx","npmInstall":"npm install mppx","canonicalUsage":"import { Mppx, tempo } from 'mppx/client';\nimport { privateKeyToAccount } from 'viem/accounts';\n\nMppx.create({\n  methods: [tempo({ account: privateKeyToAccount(process.env.PRIVATE_KEY) })],\n});\n\nawait fetch(url, {\n  method: 'POST',\n  headers: { 'Content-Type': 'application/json' },\n  body: JSON.stringify(body),\n});","retryRule":"Settle the Tempo transfer first, then retry the exact same JSON request with Authorization: Payment.","manualImplementation":{"warning":"Manual MPP credential building is error-prone. Prefer the mppx SDK.","authHeader":"Authorization: Payment <base64-encoded JSON credential>","payloadLocation":"credential.payload","payloadFormat":{"type":"hash","hash":"<tx-hash-after-onchain-transfer>","network":"tempo:42431"}},"commonMistakes":["Using payment.transactionHash instead of credential.payload.hash","Missing credential.payload.type=\"hash\"","Retrying with a different JSON body than the unpaid challenge request","Sending the credential before the Tempo transfer exists onchain"]},"checkouts":{"sale":{"version":"1.0","service":"x402-sale-mpp","realm":"mpp.clashofcoins.app","network":"tempo:42431","currency":"0x20c0000000000000000000000000000000000000","currencySymbol":"pathUSD","payTo":"0x97b7f63Cb9f40a147775aa425589a334F7091E37","protocol":"mpp","method":"tempo/charge","authHeader":"Authorization: Payment","inputSchema":{"type":"object","required":["saleId","beneficiary"],"properties":{"saleId":{"type":"integer","minimum":1},"quantity":{"type":"integer","minimum":1,"default":1},"beneficiary":{"type":"string","description":"EVM address that will receive the minted NFT"}}},"inputExample":{"saleId":370,"quantity":1,"beneficiary":"0x1111111111111111111111111111111111111111"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["saleId","beneficiary"],"properties":{"saleId":{"type":"integer","minimum":1},"quantity":{"type":"integer","minimum":1,"default":1},"beneficiary":{"type":"string","description":"EVM address that will receive the minted NFT"}}},"example":{"saleId":370,"quantity":1,"beneficiary":"0x1111111111111111111111111111111111111111"}}}},"agentIntegration":{"recommendedSdk":"mppx","npmInstall":"npm install mppx","canonicalUsage":"import { Mppx, tempo } from 'mppx/client';\nimport { privateKeyToAccount } from 'viem/accounts';\n\nMppx.create({\n  methods: [tempo({ account: privateKeyToAccount(process.env.PRIVATE_KEY) })],\n});\n\nawait fetch(url, {\n  method: 'POST',\n  headers: { 'Content-Type': 'application/json' },\n  body: JSON.stringify(body),\n});","retryRule":"Settle the Tempo transfer first, then retry the exact same JSON request with Authorization: Payment.","manualImplementation":{"warning":"Manual MPP credential building is error-prone. Prefer the mppx SDK.","authHeader":"Authorization: Payment <base64-encoded JSON credential>","payloadLocation":"credential.payload","payloadFormat":{"type":"hash","hash":"<tx-hash-after-onchain-transfer>","network":"tempo:42431"}},"commonMistakes":["Using payment.transactionHash instead of credential.payload.hash","Missing credential.payload.type=\"hash\"","Retrying with a different JSON body than the unpaid challenge request","Sending the credential before the Tempo transfer exists onchain"]},"operations":{"buyPaid":{"method":"POST","path":"/agentic/mpp/buy","inputSchema":{"type":"object","required":["saleId","beneficiary"],"properties":{"saleId":{"type":"integer","minimum":1},"quantity":{"type":"integer","minimum":1,"default":1},"beneficiary":{"type":"string","description":"EVM address that will receive the minted NFT"}}},"inputExample":{"saleId":370,"quantity":1,"beneficiary":"0x1111111111111111111111111111111111111111"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["saleId","beneficiary"],"properties":{"saleId":{"type":"integer","minimum":1},"quantity":{"type":"integer","minimum":1,"default":1},"beneficiary":{"type":"string","description":"EVM address that will receive the minted NFT"}}},"example":{"saleId":370,"quantity":1,"beneficiary":"0x1111111111111111111111111111111111111111"}}}}},"buyPayment":{"protocol":"mpp","method":"tempo/charge","authHeader":"Authorization: Payment","realm":"mpp.clashofcoins.app","network":"tempo:42431","currency":"0x20c0000000000000000000000000000000000000","payTo":"0x97b7f63Cb9f40a147775aa425589a334F7091E37"}},"endpoints":{"capabilities":"/agentic/mpp/capabilities","offers":"/agentic/mpp/offers","quote":"/agentic/mpp/quote","buy":"/agentic/mpp/buy","purchaseStatus":"/agentic/mpp/purchases/{paymentTx}"}},"shop":{"version":"1.0","service":"Clash of Coins","realm":"mpp.clashofcoins.app","network":"tempo:42431","currency":"0x20c0000000000000000000000000000000000000","currencySymbol":"pathUSD","payTo":"0x97b7f63Cb9f40a147775aa425589a334F7091E37","protocol":"mpp","method":"tempo/charge","recipientRequired":true,"inputSchema":{"type":"object","properties":{"nickname":{"type":"string","description":"Clash of Coins player nickname that should receive delivery"},"address":{"type":"string","description":"Optional EVM address used to resolve and verify the recipient"},"itemId":{"type":"string","description":"Single-item shorthand for buying one catalog item"},"quantity":{"type":"integer","minimum":1,"default":1,"description":"Quantity used together with itemId shorthand"},"items":{"type":"array","minItems":1,"items":{"type":"object","required":["itemId","quantity"],"properties":{"itemId":{"type":"string"},"quantity":{"type":"integer","minimum":1,"default":1}}}}},"oneOf":[{"required":["nickname","items"]},{"required":["address","items"]},{"required":["nickname","itemId"]},{"required":["address","itemId"]}]},"inputExample":{"nickname":"PlayerOne","items":[{"itemId":"item-id","quantity":1}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"nickname":{"type":"string","description":"Clash of Coins player nickname that should receive delivery"},"address":{"type":"string","description":"Optional EVM address used to resolve and verify the recipient"},"itemId":{"type":"string","description":"Single-item shorthand for buying one catalog item"},"quantity":{"type":"integer","minimum":1,"default":1,"description":"Quantity used together with itemId shorthand"},"items":{"type":"array","minItems":1,"items":{"type":"object","required":["itemId","quantity"],"properties":{"itemId":{"type":"string"},"quantity":{"type":"integer","minimum":1,"default":1}}}}},"oneOf":[{"required":["nickname","items"]},{"required":["address","items"]},{"required":["nickname","itemId"]},{"required":["address","itemId"]}]},"example":{"nickname":"PlayerOne","items":[{"itemId":"item-id","quantity":1}]}}}},"agentIntegration":{"recommendedSdk":"mppx","npmInstall":"npm install mppx","canonicalUsage":"import { Mppx, tempo } from 'mppx/client';\nimport { privateKeyToAccount } from 'viem/accounts';\n\nMppx.create({\n  methods: [tempo({ account: privateKeyToAccount(process.env.PRIVATE_KEY) })],\n});\n\nawait fetch(url, {\n  method: 'POST',\n  headers: { 'Content-Type': 'application/json' },\n  body: JSON.stringify(body),\n});","retryRule":"Settle the Tempo transfer first, then retry the exact same JSON request with Authorization: Payment.","manualImplementation":{"warning":"Manual MPP credential building is error-prone. Prefer the mppx SDK.","authHeader":"Authorization: Payment <base64-encoded JSON credential>","payloadLocation":"credential.payload","payloadFormat":{"type":"hash","hash":"<tx-hash-after-onchain-transfer>","network":"tempo:42431"}},"commonMistakes":["Using payment.transactionHash instead of credential.payload.hash","Missing credential.payload.type=\"hash\"","Retrying with a different JSON body than the unpaid challenge request","Sending the credential before the Tempo transfer exists onchain"]},"operations":{"buyPaid":{"method":"POST","path":"/shop/mpp/buy","inputSchema":{"type":"object","properties":{"nickname":{"type":"string","description":"Clash of Coins player nickname that should receive delivery"},"address":{"type":"string","description":"Optional EVM address used to resolve and verify the recipient"},"itemId":{"type":"string","description":"Single-item shorthand for buying one catalog item"},"quantity":{"type":"integer","minimum":1,"default":1,"description":"Quantity used together with itemId shorthand"},"items":{"type":"array","minItems":1,"items":{"type":"object","required":["itemId","quantity"],"properties":{"itemId":{"type":"string"},"quantity":{"type":"integer","minimum":1,"default":1}}}}},"oneOf":[{"required":["nickname","items"]},{"required":["address","items"]},{"required":["nickname","itemId"]},{"required":["address","itemId"]}]},"inputExample":{"nickname":"PlayerOne","items":[{"itemId":"item-id","quantity":1}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"nickname":{"type":"string","description":"Clash of Coins player nickname that should receive delivery"},"address":{"type":"string","description":"Optional EVM address used to resolve and verify the recipient"},"itemId":{"type":"string","description":"Single-item shorthand for buying one catalog item"},"quantity":{"type":"integer","minimum":1,"default":1,"description":"Quantity used together with itemId shorthand"},"items":{"type":"array","minItems":1,"items":{"type":"object","required":["itemId","quantity"],"properties":{"itemId":{"type":"string"},"quantity":{"type":"integer","minimum":1,"default":1}}}}},"oneOf":[{"required":["nickname","items"]},{"required":["address","items"]},{"required":["nickname","itemId"]},{"required":["address","itemId"]}]},"example":{"nickname":"PlayerOne","items":[{"itemId":"item-id","quantity":1}]}}}}},"buyPayment":{"protocol":"mpp","method":"tempo/charge","authHeader":"Authorization: Payment","realm":"mpp.clashofcoins.app","network":"tempo:42431","currency":"0x20c0000000000000000000000000000000000000","payTo":"0x97b7f63Cb9f40a147775aa425589a334F7091E37"}},"endpoints":{"offers":"/shop/mpp/offers","quote":"/shop/mpp/quote","buy":"/shop/mpp/buy","purchaseStatus":"/shop/mpp/purchases/{paymentReference}"},"items":[]},"agentWallet":{"version":"1.0","protocol":"mpp","authHeader":"Authorization: Payment","resources":["POST /agent-wallet/mpp/fund"],"agentIntegration":{"discovery":"/openapi.json","route":"/agent-wallet/mpp/fund","statusRoutePrefix":"/agent-wallet/mpp/purchases"},"metadata":{"autoExecuteOnFunding":true,"supportedPurchaseProtocols":{"sale":["mpp"],"shop":["mpp"]},"addresses":{"agent":"0x93862e5b2b1fa10a01772e7e9ca7cdc7deb5ca25","treasury":"0x97b7f63cb9f40a147775aa425589a334f7091e37"}}}},"serviceMetadata":{"name":"Clash of Coins","slug":"clash-of-coins","description":"Agentic checkout for Clash of Coins","category":"Gaming","tags":["Gaming"]},"category":"Gaming","tags":["Gaming"],"addresses":{"agent":"0x93862e5b2b1fa10a01772e7e9ca7cdc7deb5ca25","treasury":"0x97b7f63cb9f40a147775aa425589a334f7091e37"},"discovery":{"openapi":"/openapi.json","openapiFull":"/openapi.full.json","bazaar":"/openapi.json","catalog":"/catalog","resources":"/discovery/resources","mcp":"/mcp.json","skill":"/skill.md","skillsIndex":"/skills/index.json","wellKnownSkillsIndex":"/.well-known/skills/index.json","agent":"/.well-known/agent.json","agents":"/.well-known/agents.json"}}