Wallet Infrastructure
Wallet Infrastructure
Treasury

Sign proposal

Releasing soon

This endpoint is being released and is not yet available.

POST
/v1/treasury/proposals/{safeTxHash}/signatures

Requires scope transactions:create.

Authorization

ApiKey
headerAuthorizationBearer <sk_test_ or sk_live_ key>

Your sk_live_ / sk_test_ API key

Path Parameters

safeTxHash*string

Header Parameters

x-customer-id?string

Request Body

application/json
  1. body
passkeyPublicKey*
passkeyData*

The owner's WebAuthn assertion whose challenge is the base64url of the proposal's 32 safeTxHash bytes (the challenge field of the prepared proposal).

Response Body

200application/json

The proposal with the new signature recorded

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
401application/json

The Authorization header is missing, malformed, or the API key is unknown or revoked

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
429application/json

The API key exceeded its request budget for the window

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean

Language

curl -X POST 'https://api.pilot.shiga.io/v1/treasury/proposals/string/signatures' \  -H 'x-customer-id: <customer id>' \  -H 'Authorization: Bearer sk_test_...' \  -H 'Content-Type: application/json' \  -d '{  "passkeyPublicKey": {    "x": "string",    "y": "string"  },  "passkeyData": {    "credential": {      "property1": null,      "property2": null    },    "expectedChallenge": "string",    "expectedOrigins": [      "string"    ],    "expectedRPID": "string",    "authenticator": {      "credentialId": "string",      "credentialPublicKey": "string",      "counter": 0    }  }}'
Example Response
{  "data": {    "safeTxHash": "string",    "challenge": "string",    "chain": "base",    "safeAddress": "string",    "nonce": 0,    "kind": "payment",    "summary": {},    "tx": {      "to": "string",      "value": "string",      "data": "string",      "operation": 0,      "safeTxGas": "string",      "baseGas": "string",      "gasPrice": "string",      "gasToken": "string",      "refundReceiver": "string",      "nonce": 0    },    "requiredSignatures": 0,    "collected": 0,    "signers": [      {        "credentialId": "string",        "verifier": "string",        "approvedAt": "string",        "label": "string"      }    ],    "status": "pending",    "statusReason": "string",    "queuePosition": 0,    "expiresAt": "string",    "createdAt": "string",    "updatedAt": "string",    "relayUserOpHash": "string",    "txHash": "string",    "rejectsSafeTxHash": "string",    "rejectedBySafeTxHash": "string"  },  "status": 200,  "success": true}