Skip to main content
POST
/
v1
/
apps
/
{app_id}
/
intents
/
wallets
/
{wallet_id}
/
rpc
Create RPC intent
curl --request POST \
  --url https://api.privy.io/v1/apps/{app_id}/intents/wallets/{wallet_id}/rpc \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --header 'privy-app-id: <privy-app-id>' \
  --data '{
  "method": "personal_sign",
  "params": {
    "message": "<string>",
    "encoding": "utf-8"
  },
  "address": "<string>",
  "chain_type": "ethereum"
}'
{
  "intent_id": "clpq1234567890abcdefghij",
  "intent_type": "RPC",
  "created_by_display_name": "[email protected]",
  "created_by_id": "did:privy:clabcd123",
  "created_at": 1741834854578,
  "resource_id": "xs76o3pi0v5syd62ui1wmijw",
  "authorization_details": [
    {
      "members": [
        {
          "type": "user",
          "user_id": "did:privy:clabcd123",
          "display_name": "[email protected]",
          "has_signed": false
        }
      ],
      "threshold": 1,
      "display_name": "Admin Key Quorum"
    }
  ],
  "status": "pending",
  "expires_at": 1741921254578,
  "request_details": {
    "method": "POST",
    "url": "https://api.privy.io/v1/wallets/xs76o3pi0v5syd62ui1wmijw/rpc",
    "body": {
      "method": "eth_sendTransaction",
      "caip2": "eip155:8453",
      "chain_type": "ethereum",
      "params": {
        "transaction": {
          "to": "0x0000000000000000000000000000000000000000",
          "value": 1
        }
      }
    }
  }
}

Authorizations

Authorization
string
header
required

Headers

privy-app-id
string
required

Path Parameters

app_id
string
required
wallet_id
string
required

Body

application/json
  • EthereumPersonalSignRpcInput
  • EthereumSignTypedDataRpcInput
  • EthereumSignTransactionRpcInput
  • EthereumSignUserOperationRpcInput
  • EthereumSendTransactionRpcInput
  • EthereumSign7702AuthorizationRpcInput
  • EthereumSecp256k1SignRpcInput
  • SolanaSignMessageRpcInput
  • SolanaSignTransactionRpcInput
  • SolanaSignAndSendTransactionRpcInput
method
enum<string>
required
Available options:
personal_sign
params
object
required
address
string
chain_type
enum<string>
Available options:
ethereum

Response

200 - application/json
intent_id
string
required
created_by_display_name
string
required
created_at
number
required
resource_id
string
required
authorization_details
object[]
required
status
enum<string>
required
Available options:
pending,
executed,
failed,
expired,
rejected
expires_at
number
required
intent_type
enum<string>
required
Available options:
RPC
request_details
object
required
created_by_id
string
current_resource_data
object
Example:
action_result
object