PlannedSchema 1.0 · planned · after the TypeScript SDK
Python SDK
An async-first client for Python agents. It will be published only once its security semantics match the canonical API exactly.
Intended shape
agent.py◆ pseudocode · not yet runnable
from ravelin_wall import Ravelin, Denied, PendingApproval
async with Ravelin(api_key=os.environ["RAVELIN_API_KEY"], chain_id=46630) as wall:
result = await wall.operations.create(
account=SMART_ACCOUNT, to=ROUTER, value=40_000_000_000_000_000,
data=calldata, idempotency_key=str(uuid4()),
)
match result:
case Denied(reason_code=code):
log.info("denied", code=code) # no transaction hash exists
case PendingApproval(approval_id=aid):
await wall.approvals.wait(aid)Parity requirements
- Typed configuration and models.
- Protected operation submission with idempotency keys and bounded retries.
- Typed errors for every reason code.
- Approval status handling with expiry.
- Logging with secret redaction.
- Agent-framework examples that call the same protected interface, with no framework-specific security logic.