> For the complete documentation index, see [llms.txt](https://docs.sign.global/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sign.global/for-builders/getting-started/tutorials/delegate-attestation-creation.md).

# Delegate Attestation Creation

Through this tutorial, we will utilize direct interaction with the Sign Protocol [Smart Contract](/for-builders/index-1/index/index/index/isp.md) and the [NPM SDK](/for-builders/index-1/npm-sdk.md).

### Problem Statement: Delegate Attestation Creation

There are two main reasons for delegate attestation creation: when initiated offchain, delegate attestations allow your backend to pay the gas fees for your users; when initiated onchain, delegate attestations allow your smart contract to create attestations on behalf of wallets interacting with it. This tutorial assumes you have a schema created and know how to create an attestation. Any schema will work; if you need help getting started, refer to [Building a Simple Notary Platform](/for-builders/getting-started/tutorials/building-a-simple-notary-platform.md).

This tutorial will be split into two parts - a JS backend and a Solidity contract. Both parts will require shared code to be placed into your frontend for requesting a delegate signature from users.

### Finished Code

The finished code from this tutorial can be found in our examples repository [here](https://github.com/EthSign/sign-protocol-examples).
