signet_grant
Step 2: authorize an actor (yourself, for full autonomy) to do specific actions within LIMITS — the mandate is enforced fail-closed on every action. Set require_approval=false for no-human execution. Spend caps + target allowlist + expiry bound the blast radius; revoke anytime (on Solana, revoke ...
This record as markdown: /tools/ai-rokha-rokha/signet-grant.md
What signet_grant does on Rokha
AI agents use signet_grant to commit financial operations through Rokha, usually the final step of a payment, billing, or trading workflow. A call moves real money.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor | string | Yes | who may act — your agent id, or 'self' |
chain | integer | — | |
no_expiry | boolean | — | true = a STANDING mandate with no expiry (bounded by the spend cap + revoke). Use for a per-chain wallet mandate the agent should keep. |
spend_cap | string | — | cumulative budget, smallest unit (wei) — for pay/transfer |
spend_asset | string | — | 'native' or an ERC-20 address |
valid_until | string | — | or an explicit RFC3339 expiry, or "never" for a standing mandate |
action_types | array | Yes | e.g. ["deploy"], ["pay"] |
connection_id | string | Yes | from signet_connect |
max_per_action | string | — | per-action ceiling, wei |
expires_in_days | integer | — | grant lifetime in days (default 30). Pass 0 for a STANDING mandate that never expires. |
require_approval | boolean | — | false = autonomous (no human); true = escalate each action to the owner |
target_allowlist | array | — | contract addresses this actor may call |
Parameters from the server's own tool schema.
Why signet_grant is rated Critical
Grants autonomous financial spending authority on Solana blockchain with configurable spend caps.
From the tool's definition authorize actor, spend caps, session keypair, fund it with the budget, on-chain cap
Risk signalsHigh parameter count (12 properties) · Bulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
The rule that runs signet_grant safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Rokha, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For signet_grant, this is the rule to start with:
Any call to signet_grant is blocked until a human approves it. The rest of the server keeps working.
The button opens the PolicyLayer dashboard: create your workspace, connect Rokha, apply this rule, and every signet_grant call is checked against it from then on.
Questions about signet_grant
Step 2: authorize an actor (yourself, for full autonomy) to do specific actions within LIMITS — the mandate is enforced fail-closed on every action. Set require_approval=false for no-human execution. Spend caps + target allowlist + expiry bound the blast radius; revoke anytime (on Solana, revoke DESTROYS the session key). SOLANA (a chain-501 connection + require_approval=false): the grant mints a rail-held session keypair and returns its session_address — fund it with the budget it may spend (its balance is the hard on-chain cap); target_allowlist entries are base58 recipient/program addresses, matched case-SENSITIVELY. Requires Authorization: Bearer <JWT>. A grant can be a STANDING mandate (no_expiry:true, or expires_in_days:0) — a long-lived per-wallet/per-chain authorization the agent keeps and reuses; the spend cap and revoke are the walls, not a clock. It is categorised as a Financial tool in the Rokha MCP Server, which means it involves financial transactions. Block by default and require explicit approval.
signet_grant accepts 12 parameters: actor, chain, no_expiry, spend_cap, spend_asset, valid_until, action_types, connection_id, max_per_action, expires_in_days, require_approval, target_allowlist. Required: actor, action_types, connection_id. The full parameter table on this page comes from the server's own tool schema.
Register the Rokha MCP server in PolicyLayer and add a rule for signet_grant: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Rokha. Nothing to install.
signet_grant is a Financial tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.
Yes. Add a rate_limit block to the signet_grant rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for signet_grant. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
signet_grant is provided by the Rokha MCP server (https://rokha.ai/mcp/jsonrpc). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Rokha, and thousands of servers like it.
Across the catalogue