{"openapi":"3.1.0","info":{"title":"ENES public developer API","version":"1.0.0","description":"Public listings, genuine receipts, immutable simulation and serialized unsigned native transactions. No private wallet data or server signing."},"servers":[{"url":"/api/public/v1"}],"paths":{"/hooks":{"get":{"operationId":"listHooks","parameters":[{"name":"network","in":"query","required":true,"schema":{"type":"string","enum":["mainnet-beta","devnet"]}},{"name":"query","in":"query","required":false,"schema":{"type":"string","maxLength":64,"default":""}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":1}}],"responses":{"200":{"description":"Versioned JSON result; token monetary amounts use exact atomic-unit strings"},"400":{"description":"Strict validation failed"},"403":{"description":"Origin denied"},"409":{"description":"Pool already exists"},"413":{"description":"Body exceeds 70 KB"},"429":{"description":"Atomic request quota exceeded"},"503":{"description":"Read provider unavailable"}}}},"/hook-stats":{"get":{"operationId":"hookStats","parameters":[{"name":"network","in":"query","required":true,"schema":{"type":"string","enum":["mainnet-beta","devnet"]}},{"name":"id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Versioned JSON result; token monetary amounts use exact atomic-unit strings"},"400":{"description":"Strict validation failed"},"403":{"description":"Origin denied"},"409":{"description":"Pool already exists"},"413":{"description":"Body exceeds 70 KB"},"429":{"description":"Atomic request quota exceeded"},"503":{"description":"Read provider unavailable"}}}},"/quote-stack":{"post":{"operationId":"quoteStack","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"network":{"type":"string","enum":["mainnet-beta","devnet"]},"pool":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"hooks":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":5,"default":[]},"templates":{"type":"object","properties":{"version":{"type":"number","const":1},"name":{"type":"string","minLength":1,"maxLength":60},"modules":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"volatility_surcharge"},"id":{"type":"string","pattern":"^[a-z0-9-]{3,40}$"},"royaltyBps":{"type":"integer","minimum":0,"maximum":10},"thresholdBps":{"type":"integer","minimum":0,"maximum":5000},"surchargeBps":{"type":"integer","minimum":0,"maximum":2500}},"required":["kind","id","royaltyBps","thresholdBps","surchargeBps"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"anti_snipe_decay"},"id":{"type":"string","pattern":"^[a-z0-9-]{3,40}$"},"royaltyBps":{"type":"integer","minimum":0,"maximum":10},"startFeeBps":{"type":"integer","minimum":0,"maximum":2500},"decaySeconds":{"type":"integer","minimum":60,"maximum":86400}},"required":["kind","id","royaltyBps","startFeeBps","decaySeconds"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"verified_agent_rebate"},"id":{"type":"string","pattern":"^[a-z0-9-]{3,40}$"},"royaltyBps":{"type":"integer","minimum":0,"maximum":10},"rebateBps":{"type":"integer","minimum":0,"maximum":100},"registryAuthority":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}},"required":["kind","id","royaltyBps","rebateBps","registryAuthority"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"oracle_guard"},"id":{"type":"string","pattern":"^[a-z0-9-]{3,40}$"},"royaltyBps":{"type":"integer","minimum":0,"maximum":10},"maxDeviationBps":{"type":"integer","minimum":0,"maximum":5000},"maxStalenessSec":{"type":"integer","minimum":1,"maximum":3600},"maxConfidenceBps":{"type":"integer","minimum":0,"maximum":1000}},"required":["kind","id","royaltyBps","maxDeviationBps","maxStalenessSec","maxConfidenceBps"],"additionalProperties":false}]},"maxItems":5}},"required":["version","name","modules"],"additionalProperties":false},"amountInAtomic":{"type":"string","pattern":"^\\d{1,20}$"}},"required":["network","pool","amountInAtomic"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}}},"responses":{"200":{"description":"Versioned JSON result; token monetary amounts use exact atomic-unit strings"},"400":{"description":"Strict validation failed"},"403":{"description":"Origin denied"},"409":{"description":"Pool already exists"},"413":{"description":"Body exceeds 70 KB"},"429":{"description":"Atomic request quota exceeded"},"503":{"description":"Read provider unavailable"}}}},"/simulate-stack":{"post":{"operationId":"simulateStack","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"network":{"type":"string","enum":["mainnet-beta","devnet"]},"pool":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"hooks":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":5,"default":[]},"templates":{"type":"object","properties":{"version":{"type":"number","const":1},"name":{"type":"string","minLength":1,"maxLength":60},"modules":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"volatility_surcharge"},"id":{"type":"string","pattern":"^[a-z0-9-]{3,40}$"},"royaltyBps":{"type":"integer","minimum":0,"maximum":10},"thresholdBps":{"type":"integer","minimum":0,"maximum":5000},"surchargeBps":{"type":"integer","minimum":0,"maximum":2500}},"required":["kind","id","royaltyBps","thresholdBps","surchargeBps"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"anti_snipe_decay"},"id":{"type":"string","pattern":"^[a-z0-9-]{3,40}$"},"royaltyBps":{"type":"integer","minimum":0,"maximum":10},"startFeeBps":{"type":"integer","minimum":0,"maximum":2500},"decaySeconds":{"type":"integer","minimum":60,"maximum":86400}},"required":["kind","id","royaltyBps","startFeeBps","decaySeconds"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"verified_agent_rebate"},"id":{"type":"string","pattern":"^[a-z0-9-]{3,40}$"},"royaltyBps":{"type":"integer","minimum":0,"maximum":10},"rebateBps":{"type":"integer","minimum":0,"maximum":100},"registryAuthority":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}},"required":["kind","id","royaltyBps","rebateBps","registryAuthority"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"oracle_guard"},"id":{"type":"string","pattern":"^[a-z0-9-]{3,40}$"},"royaltyBps":{"type":"integer","minimum":0,"maximum":10},"maxDeviationBps":{"type":"integer","minimum":0,"maximum":5000},"maxStalenessSec":{"type":"integer","minimum":1,"maximum":3600},"maxConfidenceBps":{"type":"integer","minimum":0,"maximum":1000}},"required":["kind","id","royaltyBps","maxDeviationBps","maxStalenessSec","maxConfidenceBps"],"additionalProperties":false}]},"maxItems":5}},"required":["version","name","modules"],"additionalProperties":false},"amountInAtomic":{"type":"string","pattern":"^\\d{1,20}$"}},"required":["network","pool","amountInAtomic"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}}},"responses":{"200":{"description":"Versioned JSON result; token monetary amounts use exact atomic-unit strings"},"400":{"description":"Strict validation failed"},"403":{"description":"Origin denied"},"409":{"description":"Pool already exists"},"413":{"description":"Body exceeds 70 KB"},"429":{"description":"Atomic request quota exceeded"},"503":{"description":"Read provider unavailable"}}}},"/create-pool":{"post":{"operationId":"create_pool","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"network":{"type":"string","enum":["mainnet-beta","devnet"]},"owner":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"tokenA":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"tokenB":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"priceBPerA":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","maxLength":100},"preset":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"nativeWithoutPolicies":{"type":"boolean","const":true}},"required":["network","owner","tokenA","tokenB","priceBPerA","preset","nativeWithoutPolicies"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}}},"responses":{"200":{"description":"Versioned JSON result; token monetary amounts use exact atomic-unit strings"},"400":{"description":"Strict validation failed"},"403":{"description":"Origin denied"},"409":{"description":"Pool already exists"},"413":{"description":"Body exceeds 70 KB"},"429":{"description":"Atomic request quota exceeded"},"503":{"description":"Read provider unavailable"}}}}}}