# Sign Developer Platform

[Sign Developer Platform](https://developer.sign.global), or SDP, gives developers API access to various Sign Protocol services, such as paying for decentralized data storage.

### General Usage

Visit [Sign Developer Platform](https://developer.sign.global) and create an API key with the appropriate scopes. To fund the account balance to pay for API key usage, you can purchase credits with USDC (1 USDC = 100 Credits).

Once the account is properly funded, you can call the following API endpoints:

* Testnet: <https://testnet-rpc.sign.global/api>
* Mainnet: <https://mainnet-rpc.sign.global/api>

Make sure the proper header is attached in your API request:

```
Headers = {
	'x-sign-api-key': 'API key'
}
```

Alternatively, you can use our [SDK](https://www.npmjs.com/package/@ethsign/sp-sdk) (>= 0.9.7) which has been updated to work with API keys.

### Uploading Data to Decentralized Storage

To upload data to decentralized storage, use the following URL: `POST {endpoint}/sp/offchain-storage`

and request:

```json
{
    "storageType": 'arweave' | 'ipfs' | 'greenfield',
    "data": "your data"
}
```

The appropriate amount of fees will be deducted from the account. The total amount of fees paid is the sum of the base fee and size fee.

| Platform       | Base Fee | Size Fee (per byte) |
| -------------- | -------- | ------------------- |
| Arweave        | 0.01     | 0.0000000006        |
| BNB Greenfield | 0.01     | 0.00000000004       |
| IPFS           | 0.01     | 0.000000000002      |

*Please note the above fees may be adjusted without notice. All fee units are in Credits.*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sign.global/for-builders/sdp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
