{"id":"token-vault-ladder","title":"Token and Vault Exit Ladder","description":"One decision on holding a Base token and a vault position: token-trap-detector (live bytecode, proxy slots, honeypot simulation) and vault-exit-lawyer (redeem limits, queue, admin powers, eth_call simulation) run in parallel; contract-auditor then audits the token's verified source at the proxy implementation the trap step read, and is skipped on a honeypot or unverified source. Returns the worst of the three verdicts as block | review | proceed and which leg set it. Charged once, token-trap-detector + contract-auditor + vault-exit-lawyer at 20% below their combined list price; not charged when a required step fails.","roi":"Before a treasury or bot buys a token or deposits into a vault, one call says whether it can get out, and why not.","audience":"crypto","channels":["x402","mcp","rapidapi"],"endpoint":{"method":"POST","url":"https://agents.writerslogic.com/api/v1/pipelines/token-vault-ladder","path":"/api/v1/pipelines/token-vault-ladder","contentType":"application/json"},"price":{"amount":"1.20","currency":"USDC","network":"base","perCall":true,"failedCallsCharged":false},"inputSchema":{"type":"object","additionalProperties":false,"required":["tokenAddress","chain","vault","exit"],"properties":{"tokenAddress":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Token contract address on Base."},"chain":{"type":"string","enum":["ethereum","base","polygon","arbitrum","optimism"],"description":"Chain the vault lives on."},"vault":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"ERC-4626 or ERC-7540 vault address."},"exit":{"type":"object","additionalProperties":false,"description":"Exactly one of shares or assets, as base-unit integer strings. shares may be \"max\" (needs holder).","properties":{"shares":{"type":"string","pattern":"^([0-9]{1,78}|max)$","description":"Vault shares to redeem (base units), or \"max\" for the holder's whole balance."},"assets":{"type":"string","pattern":"^[0-9]{1,78}$","description":"Underlying assets to receive (base units)."}}},"holder":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Address that holds the shares. Enables an exact eth_call redeem simulation and per-holder limits."},"docsUrls":{"type":"array","maxItems":4,"items":{"type":"string","maxLength":2000},"description":"Public documentation pages whose redemption claims are checked against the contract."}}},"resultSchema":{"type":"object","properties":{"decision":{"type":"string","enum":["block","review","proceed"],"description":"Worst of the trap, audit and vault verdicts."},"decidedBy":{"type":"array","items":{"type":"string"},"description":"Legs whose verdict set the decision (empty when it is proceed)."},"votes":{"type":"array","items":{"type":"object","description":"{leg, verdict, decision} per leg that ran."}},"results":{"type":"object","description":"Each executed member step's full result, keyed by step id (forEach steps: one entry per item)."},"steps":{"type":"object","description":"Per step: status (ok | skipped | failed), reason, attempts, ms, inputSha256, outputSha256, and the output hashes of the upstream steps its input was derived from."},"partial":{"type":"boolean","description":"True when an optional step was missing or a member returned its own partial result."},"missing":{"type":"array","items":{"type":"object","description":"{step, reason, impact}"}},"deterministic":{"type":"boolean","description":"True only when every executed member answered without a model."}},"required":["results","steps","partial","missing","deterministic"]},"outputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"decision":{"type":"string","enum":["block","review","proceed"],"description":"Worst of the trap, audit and vault verdicts."},"decidedBy":{"type":"array","items":{"type":"string"},"description":"Legs whose verdict set the decision (empty when it is proceed)."},"votes":{"type":"array","items":{"type":"object","description":"{leg, verdict, decision} per leg that ran."}},"results":{"type":"object","description":"Each executed member step's full result, keyed by step id (forEach steps: one entry per item)."},"steps":{"type":"object","description":"Per step: status (ok | skipped | failed), reason, attempts, ms, inputSha256, outputSha256, and the output hashes of the upstream steps its input was derived from."},"partial":{"type":"boolean","description":"True when an optional step was missing or a member returned its own partial result."},"missing":{"type":"array","items":{"type":"object","description":"{step, reason, impact}"}},"deterministic":{"type":"boolean","description":"True only when every executed member answered without a model."}},"required":["results","steps","partial","missing","deterministic"]},"_provenance":{"type":"object","description":"C2PA-aligned manifest and W3C VC 2.0 (eddsa-jcs-2022) issued by the hub DID; verify at POST /api/v1/verify-provenance"}},"required":["data","_provenance"]},"example":{"tokenAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","chain":"ethereum","vault":"0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB","exit":{"shares":"1000000000000000000000"}},"openapiOperation":{"operationId":"token_vault_ladder","summary":"Token and Vault Exit Ladder","description":"One decision on holding a Base token and a vault position: token-trap-detector (live bytecode, proxy slots, honeypot simulation) and vault-exit-lawyer (redeem limits, queue, admin powers, eth_call simulation) run in parallel; contract-auditor then audits the token's verified source at the proxy implementation the trap step read, and is skipped on a honeypot or unverified source. Returns the worst of the three verdicts as block | review | proceed and which leg set it. Charged once, token-trap-detector + contract-auditor + vault-exit-lawyer at 20% below their combined list price; not charged when a required step fails.\n\nPrice: 1.20 USDC on Base (x402).","x-x402-price-usdc":"1.20","x-x402-amount":"1200000","x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"1.20"}},"x-audience":"crypto","x-sample-url":"https://agents.writerslogic.com/api/v1/samples/token-vault-ladder","security":[{"x402":[]},{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["tokenAddress","chain","vault","exit"],"properties":{"tokenAddress":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Token contract address on Base."},"chain":{"type":"string","enum":["ethereum","base","polygon","arbitrum","optimism"],"description":"Chain the vault lives on."},"vault":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"ERC-4626 or ERC-7540 vault address."},"exit":{"type":"object","additionalProperties":false,"description":"Exactly one of shares or assets, as base-unit integer strings. shares may be \"max\" (needs holder).","properties":{"shares":{"type":"string","pattern":"^([0-9]{1,78}|max)$","description":"Vault shares to redeem (base units), or \"max\" for the holder's whole balance."},"assets":{"type":"string","pattern":"^[0-9]{1,78}$","description":"Underlying assets to receive (base units)."}}},"holder":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Address that holds the shares. Enables an exact eth_call redeem simulation and per-holder limits."},"docsUrls":{"type":"array","maxItems":4,"items":{"type":"string","maxLength":2000},"description":"Public documentation pages whose redemption claims are checked against the contract."}}},"example":{"tokenAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","chain":"ethereum","vault":"0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB","exit":{"shares":"1000000000000000000000"}}}}},"responses":{"200":{"description":"Paid result with provenance","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"decision":{"type":"string","enum":["block","review","proceed"],"description":"Worst of the trap, audit and vault verdicts."},"decidedBy":{"type":"array","items":{"type":"string"},"description":"Legs whose verdict set the decision (empty when it is proceed)."},"votes":{"type":"array","items":{"type":"object","description":"{leg, verdict, decision} per leg that ran."}},"results":{"type":"object","description":"Each executed member step's full result, keyed by step id (forEach steps: one entry per item)."},"steps":{"type":"object","description":"Per step: status (ok | skipped | failed), reason, attempts, ms, inputSha256, outputSha256, and the output hashes of the upstream steps its input was derived from."},"partial":{"type":"boolean","description":"True when an optional step was missing or a member returned its own partial result."},"missing":{"type":"array","items":{"type":"object","description":"{step, reason, impact}"}},"deterministic":{"type":"boolean","description":"True only when every executed member answered without a model."}},"required":["results","steps","partial","missing","deterministic"]},"_provenance":{"type":"object","description":"C2PA-aligned manifest and W3C VC 2.0 (eddsa-jcs-2022) issued by the hub DID; verify at POST /api/v1/verify-provenance"}},"required":["data","_provenance"]}}}},"400":{"description":"Invalid request (no payment consumed)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}},"401":{"description":"Invalid X-API-KEY","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}},"402":{"description":"Payment required or invalid","content":{"application/json":{"schema":{"type":"object","description":"x402 v2 PaymentRequired (also base64 in the PAYMENT-REQUIRED header)","properties":{"x402Version":{"type":"integer"},"error":{"type":"string"},"code":{"type":"string"},"resource":{"type":"object"},"accepts":{"type":"array","items":{"type":"object"}},"extensions":{"type":"object"}}}}}},"502":{"description":"Upstream failure; the payment is released or not settled","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}}}},"links":{"docs":"https://agents.writerslogic.com/docs/token-vault-ladder/","docsJson":"https://agents.writerslogic.com/docs/token-vault-ladder.json","sample":"https://agents.writerslogic.com/api/v1/samples/token-vault-ladder","openapi":"https://agents.writerslogic.com/openapi.json","catalog":"https://agents.writerslogic.com/api/v1/catalog","verifyProvenance":"https://agents.writerslogic.com/api/v1/verify-provenance","index":"https://agents.writerslogic.com/docs/index.json"}}