{"x402Version":2,"service":"HALOWERK rechtwerk","version":"1.0.0","network":"eip155:8453","network_name":"Base Mainnet","chain_id":8453,"recipient":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","asset":{"symbol":"USDC","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","decimals":6},"facilitators":["CDP","https://facilitator.xpay.sh"],"payment_headers":{"primary":"PAYMENT-SIGNATURE","accepted":["PAYMENT-SIGNATURE","X-Payment","PAYMENT"],"challenge":["PAYMENT-REQUIRED"],"response":["PAYMENT-RESPONSE"]},"resources":[{"url":"https://recht.halowerk.com/v1/eu-law-resolver","method":"POST","name":"eu_law_resolver","description":"Takes any identifier for an EU legal act and returns the others, along with the available language versions and formats. The distinction it insists on is the one that is constantly confused: the work is the act itself and is language-independent, the expression is its version in one language, and the manifestation is a file of that expression. Citing an expression URI cites a language version rather than the act, and citing a manifestation cites a file; the three levels are returned separately with their own identifiers so a citation can be made at the right level. Alongside the identifiers you get the document date, the date of effect and end of validity where recorded, the document type, the author institutions, and the titles in the languages requested. Where the act has been repealed or has ceased to apply that is stated with the date, since an identifier resolves just as cleanly for an act that no longer applies as for one that does, and nothing in the identifier says which.","summary":"Resolve a CELEX number, ELI or Cellar URI to the same legal act across all three identifier systems — keeping work, language expression and file manifestation strictly apart.","inputSchema":{"type":"object","required":["identifier"],"additionalProperties":false,"properties":{"identifier":{"type":"string","minLength":4,"maxLength":300,"description":"CELEX number like 32016R0679, an ELI URI, or a Cellar URI."},"languages":{"type":"array","maxItems":6,"items":{"type":"string","minLength":3,"maxLength":3},"description":"Three-letter language codes for titles, e.g. ENG, DEU. Defaults to ENG and DEU."}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"6000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}]},{"url":"https://recht.halowerk.com/v1/amendment-chain","method":"POST","name":"amendment_chain","description":"Returns the acts that amend or repeal a given legal act, and separately the acts that it amends or repeals, ordered by date. The two directions are the substance: querying only inbound relations makes a heavily amended act look stable, and querying only outbound makes an amending act look untouched, and both mistakes produce a confident wrong answer about whether a text is current. Each relation carries its type as Cellar records it — amendment, repeal, partial repeal, corrigendum — because a corrigendum and a repeal have entirely different consequences and collapsing them into changed loses the point. The response also reports whether the act is still in force and, where it has been repealed, which act repealed it and when. Relations in Cellar are curated and can lag behind publication, so a very recent amendment may not appear yet; that lag is stated rather than the absence being presented as evidence of stability.","summary":"Build the amendment and repeal graph of an EU legal act in both directions — what amends it and what it amends — in chronological order with the relation type stated.","inputSchema":{"type":"object","required":["celex"],"additionalProperties":false,"properties":{"celex":{"type":"string","minLength":5,"maxLength":30},"limit":{"type":"integer","minimum":5,"maximum":200,"default":60}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"7000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}]},{"url":"https://recht.halowerk.com/v1/consolidation-status","method":"POST","name":"consolidation_status","description":"For a base act, returns the consolidated versions the Publications Office has produced, each with its cut-off date and CELEX number, ordered newest first, together with the amending acts known for the base act. The warning that leads the response is not decoration: a consolidated version is a working aid produced for readability and carries no legal force, so citing one cites a reading aid rather than the law, and the Office states this on every consolidated document. Beyond that, the response answers the question that actually drives the request — whether the newest consolidation is current: it compares the cut-off date of the latest consolidation against the date of the latest known amendment and says whether amendments exist that no consolidation yet incorporates. That gap is common and invisible unless checked, and it is exactly the situation where working from a consolidated text produces a wrong answer.","summary":"List the consolidated versions of an EU legal act with their cut-off dates and the amending acts each incorporates — with the standing warning that a consolidated text has no legal force.","inputSchema":{"type":"object","required":["celex"],"additionalProperties":false,"properties":{"celex":{"type":"string","minLength":5,"maxLength":30}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"6000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}]},{"url":"https://recht.halowerk.com/v1/court-citation-graph","method":"POST","name":"court_citation_graph","description":"For a Court of Justice or General Court decision, returns the legal acts and earlier rulings it cites, and separately the later rulings that cite it, each with its CELEX number and date. The inbound count is the substance: how often a ruling is cited is the best available measure of its weight in the case law, since a judgment thirty later ones rely on carries the doctrine while one nobody cites decided a single case, and the two are indistinguishable from the text alone. The limitation is stated as plainly as the result: Cellar records that a citation exists, not whether it agrees. A ruling that expressly narrows an earlier one cites it exactly as one that follows it, so the graph shows influence and not endorsement, and telling those apart requires reading the judgments. Case identifiers, the deciding court and the date are returned so the chronology of a line of cases can be reconstructed.","summary":"Map what a Court of Justice ruling cites and what cites it, with the citation count as the best available proxy for weight — and an explicit statement that direction of agreement is not recorded.","inputSchema":{"type":"object","required":["celex"],"additionalProperties":false,"properties":{"celex":{"type":"string","minLength":5,"maxLength":30,"description":"CELEX of a court decision, e.g. 62019CJ0311."},"limit":{"type":"integer","minimum":5,"maximum":150,"default":50}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"7000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}]},{"url":"https://recht.halowerk.com/v1/implementation-deadline","method":"POST","name":"implementation_deadline","description":"Returns the dates Cellar records for a legal act, each labelled with what it actually means. Entry into force is when the act exists as law; date of application is when it is applied and for regulations frequently falls two years later; the transposition deadline applies only to directives and is when member states must have adapted national law; end of validity is when it stops applying. Treating entry into force as the operative date is the standard error and produces answers like the data protection regulation applying from May 2016, when it applied from May 2018. Each date is returned with its Cellar property so the source of the value is checkable, and dates the record does not carry come back as null rather than being inferred from the others. Where the act is a directive without a recorded transposition deadline that absence is stated, since the deadline is then only in the text and this service does not read text. Days remaining or elapsed are computed for each date so the practical question is answered directly.","summary":"Extract the dates that govern an EU act — entry into force, date of application, transposition deadline and end of validity — keeping them strictly apart because they routinely get confused.","inputSchema":{"type":"object","required":["celex"],"additionalProperties":false,"properties":{"celex":{"type":"string","minLength":5,"maxLength":30}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"6000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}]},{"url":"https://recht.halowerk.com/v1/eurovoc-resolver","method":"POST","name":"eurovoc_resolver","description":"Resolves a term against the EuroVoc thesaurus, the controlled vocabulary EU documents are indexed with, and returns the matching concepts with their URIs, their preferred labels in the requested languages, their alternative labels, and their position in the hierarchy through broader, narrower and related concepts. The value is that a concept is language-independent: data protection, Datenschutz and protection des données are one concept with one URI, so indexing or searching by concept reaches documents in all official languages while a full-text search in one language reaches only that language and silently misses the rest. Broader and narrower terms are returned because they are how a search is widened or tightened deliberately rather than by guessing synonyms. Where a term matches several concepts all are returned with their labels so the intended one can be chosen; the thesaurus contains near-homonyms across policy fields and picking the first would silently narrow a search to the wrong domain.","summary":"Map a term to EuroVoc concepts with their multilingual labels, broader and narrower terms and related concepts — so a search covers all official languages instead of one.","inputSchema":{"type":"object","required":["term"],"additionalProperties":false,"properties":{"term":{"type":"string","minLength":2,"maxLength":120},"language":{"type":"string","minLength":3,"maxLength":3,"default":"ENG","description":"Language of the search term, three-letter code."},"label_languages":{"type":"array","maxItems":6,"items":{"type":"string","minLength":3,"maxLength":3},"description":"Languages for the returned labels. Defaults to ENG, DEU, FRA."}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}]}]}