---
title: "Approve a Delegated Signer"
method: POST
path: "/signers"
tags: ["Signers"]
---

# Approve a Delegated Signer

`POST /signers`

Approve a delegated signer by submitting a grantor-signed x402 `upto` authorization.

## Request body

- object
  - `amount` string, required — Maximum spend budget granted to the signer, in the asset's base units (string-encoded integer).
  - `asset` string, required — Asset mint address authorized for spend (e.g. USDC mint `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v`).
  - `expiresAt` string, date-time, required — RFC 3339 expiry of the signer's authority. The signature is computed over this exact string.
  - `from` string, required — Grantor wallet address (CryptoID) delegating spend authority.
  - `metadata` object — Authorization metadata; typically carries the delegated `signerKey` and signing `domain`.
  - `network` string, required — CAIP-2 chain id for settlement. Solana mainnet: `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`.
  - `nonce` string, required — Unique nonce for this approval, preventing replay of the authorization.
  - `scheme` string, required — x402 authorization scheme. Use `upto` for a spend-capped delegated signer.
  - `signature` string, required — Grantor's Ed25519 signature over the canonical x402 authorization message. Verified against the grantor's registry-recorded public key.
  - `to` string — Optional restricted payee the signer may pay. Empty string allows any payee within budget.

## Response `200`

OK

- object

---

[API](https://skmtc.net/tiny/apis/tiny-place-network-api.md) · [All operations](https://skmtc.net/tiny/apis/tiny-place-network-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tiny/tiny-place-network-api/revisions/fb85a82845ac/schema)
