{"openapi":"3.1.0","info":{"title":"Tempo Activity Score","version":"1.0.0","description":"Returns an activity score (0–100) for any Tempo wallet address, based on USDC.e balance and transaction count.","x-guidance":"POST to /api/service with JSON body {\"address\":\"0x...\"} to get the activity score. Payment via MPP (Tempo USDC.e) is required. GET /api/service?address=0x... is also supported for backward compatibility."},"servers":[{"url":"https://tempo-mpp.vercel.app"}],"x-service-info":{"categories":["data","blockchain"],"docs":{"homepage":"https://tempo-mpp.vercel.app","apiReference":"https://tempo-mpp.vercel.app/openapi.json"}},"paths":{"/api/service":{"post":{"operationId":"getActivityScore","summary":"Get activity score for a Tempo wallet address","tags":["Score"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"EVM wallet address on Tempo mainnet (0x + 40 hex chars)","example":"0x62717645774b4c6c9b067a711f653eb052dd583c"}}}}}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"responses":{"200":{"description":"Activity score and breakdown","content":{"application/json":{"schema":{"type":"object","required":["address","score","fetched_at"],"properties":{"address":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"number"},"fetched_at":{"type":"string","format":"date-time"},"score":{"type":"number","minimum":0,"maximum":100,"description":"Activity score 0–100"},"breakdown":{"type":"object","properties":{"account_type":{"type":"string","enum":["EOA","contract"]},"nonce":{"type":"number"},"usdc_balance":{"type":"number"},"nonce_contribution":{"type":"number"},"balance_contribution":{"type":"number"}}},"note":{"type":"string"}}}}}},"400":{"description":"Invalid or missing address parameter"},"402":{"description":"Payment Required"},"500":{"description":"Internal error (RPC timeout etc.)"}}},"get":{"operationId":"getActivityScoreQuery","summary":"Get activity score (query param, backward compat)","tags":["Score"],"parameters":[{"name":"address","in":"query","required":true,"description":"EVM wallet address to score","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"example":"0x62717645774b4c6c9b067a711f653eb052dd583c"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"responses":{"200":{"description":"Activity score and breakdown","content":{"application/json":{"schema":{"type":"object","required":["address","score","fetched_at"],"properties":{"address":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"number"},"fetched_at":{"type":"string","format":"date-time"},"score":{"type":"number","minimum":0,"maximum":100,"description":"Activity score 0–100"},"breakdown":{"type":"object","properties":{"account_type":{"type":"string","enum":["EOA","contract"]},"nonce":{"type":"number"},"usdc_balance":{"type":"number"},"nonce_contribution":{"type":"number"},"balance_contribution":{"type":"number"}}},"note":{"type":"string"}}}}}},"400":{"description":"Invalid or missing address parameter"},"402":{"description":"Payment Required"},"500":{"description":"Internal error (RPC timeout etc.)"}}}}}}