> For the complete documentation index, see [llms.txt](/llms.txt).

# Request signature

The `request` method facilitates the use of prebuilt transaction screens for signing transactions. The method will return [SignResponse](#signresponse). It can be used to sign transactions for any EVM chain and screens can be customized to match your branding.

Please check the list of [JSON RPC methods](https://metamask-docs-f8nytczy3-consensys-ddffed67.vercel.app/wallet/reference/json-rpc-api/), noting that the request method currently supports only the signing methods.

![Request Method](/img/embedded-wallets/wallet-services/mobile-request-method.png) 

## Arguments[​](#arguments "Direct link to Arguments")

| Arguments     | Description                                                                                                                                                                                            |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| chainConfig   | Defines the chain to be used for signature.                                                                                                                                                            |
| method        | JSON RPC method name in String. Currently, the request method only supports the signing methods.                                                                                                       |
| requestParams | Parameters for the corresponding method. The parameters should be in the list and correct sequence. Take a look at [RPC methods](https://metamask-docs-f8nytczy3-consensys-ddffed67.vercel.app/wallet/reference/json-rpc-api) to know more. |

## Usage[​](#usage "Direct link to Usage")

Usage

```

try {
  List<dynamic> params = [];
  // Message to be signed
  params.add("Hello, Web3Auth from Flutter!");
  // User's EOA address
  params.add("<User Address in Hex>");

  final response = await Web3AuthFlutter.request(
    ChainConfig(
      chainId: "0x1",
      rpcTarget: "https://mainnet.infura.io/v3/$key",
    ),
    "personal_sign",
    params,
  );

  log(response.toString());
} on UserCancelledException {
  log("User cancelled.");
} catch(e) {
  log("Unknown exception occurred");
}

```

## SignResponse[​](#signresponse "Direct link to SignResponse")

| Name    | Description                                               |
| ------- | --------------------------------------------------------- |
| success | Determines whether the request was successful or not.     |
| result? | Holds the signature for the request when success is true. |
| error?  | Holds the error for the request when success is false.    |
